CN102750450A - 网络游戏中的场景管理方法和装置 - Google Patents
网络游戏中的场景管理方法和装置 Download PDFInfo
- Publication number
- CN102750450A CN102750450A CN2012102121849A CN201210212184A CN102750450A CN 102750450 A CN102750450 A CN 102750450A CN 2012102121849 A CN2012102121849 A CN 2012102121849A CN 201210212184 A CN201210212184 A CN 201210212184A CN 102750450 A CN102750450 A CN 102750450A
- Authority
- CN
- China
- Prior art keywords
- scene
- tree
- dynamic
- game
- static
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本申请提供了网络游戏中的场景管理方法和装置。其中,该方法包括:将游戏场景中的静态物体存放至静态场景树;将游戏场景中的动态物体存放至动态场景树;在满足针对静态场景树的更新条件时,更新静态场景树中的物体;在满足针对动态场景树的更新条件时,更新动态场景树中的物体。
Description
技术领域
本申请涉及计算机技术,特别涉及网络游戏中的场景管理方法和装置。
背景技术
在网络游戏中,场景管理,为游戏图形引擎最核心的模块,其实质是对游戏场景比如大型多人在线游戏(MMOG:Massive multiplayer online game)中的游戏对象(简称物体)比如人物、建筑物、树木等的管理。其中,游戏图形引擎为对网络游戏场景、地形、游戏模型、特效资源进行管理和渲染的核心程序。
通过场景管理对游戏场景中的物体进行有效组织,可以提高整个游戏图形引擎的运行效率和渲染质量,提供更好的视觉表现效果。
目前,现有技术通常使用四叉树算法对游戏场景比如MMOG场景进行管理,以游戏场景为MMOG场景为例,则该使用四叉树算法对游戏场景进行管理具体为:初始化四叉树,将MMOG场景中物体分散至四叉树的各个节点上,通过视锥体与四叉树求交的方式从四叉树中找到需要绘制的物体。
虽然通过四叉树算法能够对游戏场景进行管理,但是,当查找的物体达到一定级别之后,通过四叉树算法对游戏场景管理,会导致CPU开销持续增加,降低渲染效率。
发明内容
本申请提供了网络游戏中的场景管理方法和装置,以提高渲染效率、降低CPU开销。
本申请提供的技术方案包括:
一种网络游戏中的场景管理方法,包括:
将游戏场景中的静态物体存放至静态场景树;
将游戏场景中的动态物体存放至动态场景树;
在满足针对静态场景树的更新条件时,更新静态场景树中的物体;
在满足针对动态场景树的更新条件时,更新动态场景树中的物体。
一种网络游戏中的场景管理装置,包括:
第一存放单元,用于存放游戏场景中的静态物体至静态场景树;
第二存放单元,用于存放游戏场景中的动态物体至动态场景树;
第一更新单元,用于在满足针对静态场景树的更新条件时,更新静态场景树中的物体;
第二更新单元,用于在满足针对动态场景树的更新条件时,更新动态场景树中的物体。
由以上技术方案可以看出,本发明中,通过将游戏场景中的静态物体存放至静态场景树,以及将游戏场景中的动态物体存放至动态场景树,实现游戏场景中的静态物体和动态物体分开存放,之后对静态场景树和动态场景树分开管理,即在满足针对静态场景树的更新条件时,更新静态场景树中的物体,以及在满足针对动态场景树的更新条件时,更新动态场景树中的物体,实现了对不同数据进行有针对性地不同管理,显然相比于现有技术提高渲染效率、降低CPU开销。
附图说明
图1为本发明实施例提供的方法流程图;
图2为本发明实施例提供的装置结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明实施例提供的方法包括图1所示的流程图。
参见图1,图1为本发明实施例提供的方法流程图。如图1所示,该流程可包括以下步骤:
步骤101,将游戏场景中的静态物体存放至静态场景树。
本步骤101中,静态物体可为:在游戏场景中不移动的物体,比如建筑物、树木等。至于本步骤101中的静态场景树在下文进行了描述。
另外,本步骤101至于如何将游戏场景中的静态物体存放至静态场景树,以及静态场景树按照哪种顺序存放静态物体,这可从实际游戏需求出发设置,本发明并不具体限定。
步骤102,将游戏场景中的动态物体存放至动态场景树。
本步骤102中,动态物体其相对于上述的静态物体而言,可为:在游戏场景中可以移动的物体。至于本步骤102中的动态场景树在下文进行了描述。
本步骤102中的动态场景树在下文进行了描述。
另外,至于本步骤102至于如何将游戏场景中的动态物体存放至动态场景树,以及动态场景树按照哪种顺序存放动态物体,这可从实际游戏需求出发设置,本发明并不具体限定。
从步骤101和步骤102可以看出,本发明是将游戏场景中的静态物体和动态物体分开存放,以便后续对静态物体和动态物体分开管理,具体见步骤103和步骤104。
步骤103,在满足针对静态场景树的更新条件时,更新静态场景树中的物体。
由于静态场景树的物体不移动,因此,静态场景树并非每一帧都同步更新。基于此,本发明就针对静态场景树设置一个更新条件,只有达到该更新条件时才静态场景树,这节省CPU开销。
其中,静态场景树的更新条件包括但不限于以下内容:
玩家操作的游戏角色发生移动;或者,
游戏场景中的摄像机发生移动。
需要说明的是,本发明中,摄像机发生移动可指摄像机的位置移动,也可指摄像机的视角发生变化等,本发明并不具体限定。
基于上面描述的静态场景树的更新条件,则步骤103中,更新静态场景树中的物体包括:更新静态场景树中由于所述静态场景树的更新条件而引起变化的物体。
至此,完成步骤103的描述。
从步骤103可以看出,本发明是在静态场景树的更新条件满足时,才从静态场景树中取出发生更新的数据。例如在玩家操作的游戏角色移动时才会在当前帧从静态场景管理树中更新因该游戏角色移动而引起变化的数据。
步骤104,在满足针对动态场景树的更新条件时,更新动态场景树中的物体。
本发明中,动态场景树的更新与静态场景树,设置了一个更新条件,当该更新条件满足时,才更新动态场景树,否则,即使下一帧到达,也不会更新动态场景树。
其中,针对动态场景树的更新条件包括但不限于以下内容:
每一帧到达时;或者,
动态场景树所绑定的事件被触发和/或针对动态场景树设置的更新开关处于打开状态。其中,动态场景树所绑定的事件在动态场景树中的物体发生变化时被触发,这里,动态场景树中的物体发生变化包括但不限于以下内容:创建、移动、或删除。
本发明中,动态场景树的更新条件为每一帧到达,主要是因为:动态场景树用来存放所有可以移动的物体,而因为游戏场景中动态物体比较少,所以即使每一帧都更新动态场景树,对CPU的压力比较小。
另外,需要说明的是,当动态场景树的更新条件包括:动态场景树设置的更新开关处于打开状态时,则,本发明可在完成动态场景树的更新后,将关闭针对动态场景树设置的更新开关,使其处于关闭状态,这样保证有选择性地更新动态场景树,节省CPU开销。
至此,完成图1所示的流程。
下面对本发明中的静态场景树和动态场景树进行分析:
本发明中,所述静态场景树采用满四叉树的结构存放静态物体至各个节点上。其中,所谓满四叉树,其是指将空间无限细分为N层的满四叉树。这个N取决于初始化时设置的阀值。当该阀值很小时,这个N就会很大,这样空间会被分的很小。比如说一个256*256的场景,如果被分了8层的话,那么最底层的节点将是1*1的大小。为了保证后续从静态场景树中快速查找物体,本发明中,所述静态场景树中每一节点可以不停生成子节点,但当到达生成的子节点达到预设最小阈值时就不生成子节点,这可以保证分布在某一个节点中的物体不至于过多,提高查找速度。
至于动态场景树,其使用的是另一种特殊的四叉树,该四叉树不同于上述的满四叉树。针对该四叉树中的每一节点,设置一个预设最大阈值。每一节点的预设最大阈值要求该节点存放的物体数量不超过该预设最大阈值,而当挂在该节点上的物体个数大于等于该预设最大阈值时,就不会向下生成子节点,这样做的目的是使该动态场景树的层级很低,层数很少。因为动态物体的个数是远低于静态物体的,针对该四叉树中的每一节点设置一个预设最大阈值可以尽量降低遍历整个动态场景树带来的开销。
至此,完成本发明提供的方法描述。下面对本发明提供的装置进行描述:
参见图2,图2为本发明实施例提供的装置结构图。如图2所示,该装置包括:
第一存放单元,用于存放游戏场景中的静态物体至静态场景树;
第二存放单元,用于存放游戏场景中的动态物体至动态场景树;
第一更新单元,用于在满足针对静态场景树的更新条件时,更新静态场景树中的物体;
第二更新单元,用于在满足针对动态场景树的更新条件时,更新动态场景树中的物体。
其中,所述针对静态场景树的更新条件包括但不限于以下内容:
玩家操作的游戏角色发生移动;或者,
游戏场景中的摄像机发生移动。
其中,所述针对动态场景树的更新条件包括但不限于以下内容:
每一帧到达时;或者,
动态场景树所绑定的事件被触发和/或针对动态场景树设置的更新开关处于打开状态,其中,动态场景树所绑定的事件在动态场景树中的物体发生变化时被触发,所述动态场景树中的物体发生变化包括但不限于以下内容:创建、移动、或删除。
至此,完成本发明提供的装置描述。
由以上技术方案可以看出,本发明中,通过将游戏场景中的静态物体存放至静态场景树,以及将游戏场景中的动态物体存放至动态场景树,实现游戏场景中的静态物体和动态物体分开存放,之后对静态场景树和动态场景树分开管理,即在满足针对静态场景树的更新条件时,更新静态场景树中的物体,以及在满足针对动态场景树的更新条件时,更新动态场景树中的物体,实现了对不同数据进行有针对性地不同管理,显然相比于现有技术提高渲染效率、降低CPU开销。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种网络游戏中的场景管理方法,其特征在于,该方法包括:
将游戏场景中的静态物体存放至静态场景树;
将游戏场景中的动态物体存放至动态场景树;
在满足针对静态场景树的更新条件时,更新静态场景树中的物体;
在满足针对动态场景树的更新条件时,更新动态场景树中的物体。
2.根据权利要求1所述的方法,其特征在于,所述针对静态场景树的更新条件包括但不限于以下内容:
玩家操作的游戏角色发生移动;或者,
游戏场景中的摄像机发生移动。
3.根据权利要求1或2所述的方法,其特征在于,所述更新静态场景树中的物体包括:
更新静态场景树中由于所述静态场景树的更新条件而引起变化的物体。
4.根据权利要求1所述的方法,其特征在于,所述针对动态场景树的更新条件包括但不限于以下内容:
每一帧到达时;或者,
动态场景树所绑定的事件被触发和/或针对动态场景树设置的更新开关处于打开状态;其中,动态场景树所绑定的事件在动态场景树中的物体发生变化时被触发,所述动态场景树中的物体发生变化包括但不限于以下内容:创建、移动、或删除。
5.根据权利要求1或4所述的方法,其特征在于,所述更新动态场景树中的物体包括:
更新动态场景树中由于所述动态场景树的更新条件而引起变化的物体。
6.根据权利要求1所述的方法,其特征在于,所述静态场景树采用满四叉树的结构存放静态物体至各个节点上;所述静态场景树中每一节点生成子节点,直至生成的子节点达到预设最小阈值。
7.根据权利要求1或6所述的方法,其特征在于,所述动态场景树采用不同于满四叉树的四叉树结构存放动态物体至各个节点,所述动态场景树中每一节点存放的物体数量不超过预设最大阈值。
8.一种网络游戏中的场景管理装置,其特征在于,该装置包括:
第一存放单元,用于存放游戏场景中的静态物体至静态场景树;
第二存放单元,用于存放游戏场景中的动态物体至动态场景树;
第一更新单元,用于在满足针对静态场景树的更新条件时,更新静态场景树中的物体;
第二更新单元,用于在满足针对动态场景树的更新条件时,更新动态场景树中的物体。
9.根据权利要求8所述的装置,其特征在于,所述针对静态场景树的更新条件包括但不限于以下内容:
玩家操作的游戏角色发生移动;或者,
游戏场景中的摄像机发生移动。
10.根据权利要求8所述的装置,其特征在于,所述针对动态场景树的更新条件包括但不限于以下内容:
每一帧到达时;或者,
动态场景树所绑定的事件被触发和/或针对动态场景树设置的更新开关处于打开状态,其中,动态场景树所绑定的事件在动态场景树中的物体发生变化时被触发,所述动态场景树中的物体发生变化包括但不限于以下内容:创建、移动、或删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102121849A CN102750450A (zh) | 2012-06-21 | 2012-06-21 | 网络游戏中的场景管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102121849A CN102750450A (zh) | 2012-06-21 | 2012-06-21 | 网络游戏中的场景管理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102750450A true CN102750450A (zh) | 2012-10-24 |
Family
ID=47030626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012102121849A Pending CN102750450A (zh) | 2012-06-21 | 2012-06-21 | 网络游戏中的场景管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102750450A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713725A (zh) * | 2013-12-30 | 2014-04-09 | 优视科技有限公司 | 图形处理方法和装置 |
CN105184847A (zh) * | 2015-10-16 | 2015-12-23 | 上海恺英网络科技有限公司 | 3d游戏渲染引擎的渲染方法 |
CN105242911A (zh) * | 2014-07-09 | 2016-01-13 | 腾讯科技(深圳)有限公司 | 一种游戏场景中物体的控制方法、装置及终端 |
CN105427250A (zh) * | 2015-10-30 | 2016-03-23 | 广州银汉科技有限公司 | 大场景多单位的优化处理方法 |
CN105739667A (zh) * | 2014-12-11 | 2016-07-06 | 华为终端(东莞)有限公司 | 一种帧输出方法及装置 |
CN106412277A (zh) * | 2016-09-26 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 虚拟场景的加载方法和装置 |
CN110368693A (zh) * | 2019-07-22 | 2019-10-25 | 珠海金山网络游戏科技有限公司 | 一种基于多四叉树的mmo游戏元素裁减方法及其装置 |
CN110935169A (zh) * | 2019-11-22 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 虚拟对象的控制方法、信息显示方法、装置、设备及介质 |
CN110990100A (zh) * | 2019-11-29 | 2020-04-10 | 珠海豹趣科技有限公司 | 游戏场景中节点对象的处理方法及装置 |
CN113577770A (zh) * | 2021-07-23 | 2021-11-02 | 广州元游信息技术有限公司 | 一种游戏渲染方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739509A (zh) * | 2009-12-25 | 2010-06-16 | 电子科技大学 | 一种大规模虚拟人群路径导航方法 |
CN102184517A (zh) * | 2011-05-06 | 2011-09-14 | 南京工程学院 | 动态场景中一种快速求交算法 |
-
2012
- 2012-06-21 CN CN2012102121849A patent/CN102750450A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739509A (zh) * | 2009-12-25 | 2010-06-16 | 电子科技大学 | 一种大规模虚拟人群路径导航方法 |
CN102184517A (zh) * | 2011-05-06 | 2011-09-14 | 南京工程学院 | 动态场景中一种快速求交算法 |
Non-Patent Citations (4)
Title |
---|
THOMAS C.S. CHEAH, KOK-WHY NG: "《Proceedings of Computer Graphics,Imaging and Vision: New Trends》", 29 July 2005 * |
刘晓平 等: "一种协同渲染环境下的场景管理策略", 《系统仿真学报》 * |
刘秀玲 等: "分布式多交互虚拟场景渲染的协同控制", 《计算机工程与应用》 * |
杜玲 等: "一种支持MMOG的可伸缩P2P覆盖网络架构", 《小型微型计算机系统》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713725A (zh) * | 2013-12-30 | 2014-04-09 | 优视科技有限公司 | 图形处理方法和装置 |
CN103713725B (zh) * | 2013-12-30 | 2017-01-18 | 广州爱九游信息技术有限公司 | 图形处理方法和装置 |
CN105242911A (zh) * | 2014-07-09 | 2016-01-13 | 腾讯科技(深圳)有限公司 | 一种游戏场景中物体的控制方法、装置及终端 |
CN105739667A (zh) * | 2014-12-11 | 2016-07-06 | 华为终端(东莞)有限公司 | 一种帧输出方法及装置 |
CN105739667B (zh) * | 2014-12-11 | 2018-11-09 | 华为终端(东莞)有限公司 | 一种帧输出方法及装置 |
CN105184847A (zh) * | 2015-10-16 | 2015-12-23 | 上海恺英网络科技有限公司 | 3d游戏渲染引擎的渲染方法 |
CN105184847B (zh) * | 2015-10-16 | 2017-12-12 | 上海恺英网络科技有限公司 | 3d游戏渲染引擎的渲染方法 |
CN105427250A (zh) * | 2015-10-30 | 2016-03-23 | 广州银汉科技有限公司 | 大场景多单位的优化处理方法 |
CN106412277B (zh) * | 2016-09-26 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 虚拟场景的加载方法和装置 |
CN106412277A (zh) * | 2016-09-26 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 虚拟场景的加载方法和装置 |
CN110368693A (zh) * | 2019-07-22 | 2019-10-25 | 珠海金山网络游戏科技有限公司 | 一种基于多四叉树的mmo游戏元素裁减方法及其装置 |
CN110368693B (zh) * | 2019-07-22 | 2023-07-14 | 珠海金山数字网络科技有限公司 | 一种基于多四叉树的mmo游戏元素裁减方法及其装置 |
CN110935169A (zh) * | 2019-11-22 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 虚拟对象的控制方法、信息显示方法、装置、设备及介质 |
CN110935169B (zh) * | 2019-11-22 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 虚拟对象的控制方法、信息显示方法、装置、设备及介质 |
CN110990100A (zh) * | 2019-11-29 | 2020-04-10 | 珠海豹趣科技有限公司 | 游戏场景中节点对象的处理方法及装置 |
CN110990100B (zh) * | 2019-11-29 | 2024-05-14 | 珠海豹趣科技有限公司 | 游戏场景中节点对象的处理方法及装置 |
CN113577770A (zh) * | 2021-07-23 | 2021-11-02 | 广州元游信息技术有限公司 | 一种游戏渲染方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102750450A (zh) | 网络游戏中的场景管理方法和装置 | |
CN105263050B (zh) | 基于云平台的移动终端实时渲染系统及其方法 | |
US20210397766A1 (en) | System and methods for multi-language abstract model creation for digital environment simulations | |
CN103246612B (zh) | 一种数据缓存的方法及装置 | |
Shevtsov et al. | Highly parallel fast KD‐tree construction for interactive ray tracing of dynamic scenes | |
US20140188870A1 (en) | Lsm cache | |
US20190014166A1 (en) | Buffering in HTTP Streaming Client | |
CN109413216A (zh) | 一种信息推送方法、装置及移动终端 | |
JP2016534601A (ja) | ゲームクリップ人気度ベースの制御 | |
CN106980625A (zh) | 一种数据同步方法、装置及系统 | |
CN104835187A (zh) | 一种动画编辑器及其编辑方法 | |
CN102024032A (zh) | 一种基于Erlang的分布式数据缓存和持久化的方法和系统 | |
CN103888934B (zh) | 一种移动终端缓存管理装置及管理方法 | |
CN113209633A (zh) | 镜像的处理方法、装置、电子设备及可读存储介质 | |
US20170353537A1 (en) | Predictive load balancing for a digital environment | |
CN107179878A (zh) | 基于应用优化的数据存储的方法和装置 | |
CN104503784A (zh) | 一种利用脚本控制微端下载的方法和系统 | |
CN101604358A (zh) | 一种资源更新方法、装置和系统 | |
US11400376B2 (en) | AI-generated internal environments based on external geometry | |
CN103544727A (zh) | 一种基于预测分支的场景渲染优化方法、系统和移动终端 | |
CN105597314A (zh) | 一种2d游戏的渲染系统及方法、终端设备 | |
CN104063224A (zh) | 基于三维gis切换多个精细化控制场景的方法及装置 | |
CN103024072A (zh) | 一种提高云存储访问速度的方法 | |
CN105577558A (zh) | 一种提升网站服务器高并发的解决方法 | |
Chewslack-Postava et al. | A scalable server for 3D metaverses |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C05 | Deemed withdrawal (patent law before 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121024 |