[发明专利]游戏场景管理方法有效
申请号: | 201010143735.1 | 申请日: | 2010-04-12 |
公开(公告)号: | CN102214263A | 公开(公告)日: | 2011-10-12 |
发明(设计)人: | 梁久祯;许多;袁旭东;朱波 | 申请(专利权)人: | 无锡科利德斯科技有限公司 |
主分类号: | G06F19/00 | 分类号: | G06F19/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 214125 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 游戏 场景 管理 方法 | ||
【技术领域】
本发明涉及游戏引擎领域,特别是关于游戏场景管理方法。
【背景技术】
游戏是人们日常生活中必不可少的娱乐项目,几乎现在每一款游戏的背后,都有一款与之匹配的游戏引擎,游戏引擎掌控着游戏中各种资源,现代游戏引擎基本包括:图像引擎、声音引擎、物理引擎、控制引擎、人工智能或者游戏逻辑等。
所述图像引擎用来绘制具体的游戏场景,其中游戏场景是指显示器显示出来的游戏画面。图1示出了一个现有技术中的简单游戏场景100。请参考图1所示,所述游戏场景100包括液晶电视102、电视盒104、电视柜106、桌子108、本子110、第一杯子112、第二杯子114以及房间116。所述图像引擎在绘制游戏场景时,通常采用场景图来组织管理相关的场景数据。所述场景图采用一种自顶向下的、分层的树状数据结构来组织场景数据。场景图树状结构的顶部是一个根节点,从根节点向下延伸为组节点或叶节点,从组节点向下延伸为叶节点或下一层的组节点,每层的组节点都可以再向下延伸出叶节点或下一层的组节点,而所述叶节点位于场景图树状结构的最底部,每个节点与其延伸出的其他节点的关系为父子关系,每个节点都存储有场景数据,比如几何模型、渲染状态、空间方位等,其中父节点中的数据信息会影响到其子节点。
具体到图像引擎绘制所述游戏场景100时,其可以采用的场景图请参考图2示出的场景图200。所述场景图200包括根节点202、家庭影院节点204、液晶电视节点206、电视柜节点208、电视盒节点210、桌子节点212、本子节点214、第一杯子节点216、第二杯子节点218以及房间节点220。其中家庭影院节点204是组节点,液晶电视节点206、电视柜节点208是家庭影院节点204的子节点,其中液晶电视节点206为叶节点,电视柜节点208为组节点,电视盒210是电视柜节点208的子节点,电视和210也是叶节点;桌子节点212是组节点,本子节点214、第一杯子节点216和第二杯子节点218是桌子节点212为叶节点并作为桌子节点212的子节点。一个组节点可以拥有一个或多个叶节点,而叶节点则位于场景图的最底部。场景图中的组节点的逻辑关系、空间方位、渲染状态等信息可以影响其子节点,比如桌子节点212发生移动,它也会影响它的子节点(比如本子节点214、第一杯子节点216和第二杯子节点218)发生移动。所述场景图200中的房间节点220在实际中也可能是组节点,还拥有其他诸如墙壁之类的叶节点。在实际的场景图中,场景图包括了多种类型的节点以执行各种各样的用户功能,来构成丰富多彩的游戏。例如,开始节点可以设置其子节点可用或者不可用;细节层次节点可以根据观察者的距离调用不同的子节点;变换节点可以改变子节点几何体的坐标变换状态。面向对象的场景图使用继承的机制来提供这种多样性,所有的节点类都有一个共有的基类,同时各自派生出实现特定功能的方法。
当游戏需要绘制场景时,采用某种遍历方式(比如更新遍历、拣选遍历和绘图遍历等)遍历场景图就可以绘制出需要的场景。但是在具体的场景中,可能会碰到相同或者类似的场景对象需要构建,这种相同或类似的场景对象可以是任何节点,我们以相同或类似的物体的几何信息为例。举例来说,图1所示的第一杯子112和第二杯子114,假设第一杯子112和第二杯子114的几何信息一样,只有空间方位和渲染状态不同,例如在游戏中第一杯子112是一罐可乐、第二杯子114是一罐雪碧,只需在相同杯子几何体上贴上不同的图片就可以实现。
图3示出了现有技术中实现相同或者类似场景对象的管理方法。请参考图3,在场景图中采用一个叶节点302来存储杯子的几何信息,组节点304和306分别存储第一杯子112和第二杯子114的空间方位和渲染状态,这样的好处是实现了数据的共享。在游戏运行后实际渲染场景时,游戏引擎需要遍历场景图,并将遍历到的各节点的数据加载到内存中,在内存中产生的关于第一杯子112的数据中包含一份杯子的几何信息,在内存中产生的关于第二杯子114的数据中也包含一份杯子的几何信息,很显然这样就需要为该游戏分配更多的内存。当游戏中相同和类似的场景对象较多时,比如一些大型游戏在一个场景中可能存在数十甚至数百个同类型野怪或类似树木等,上述实现方式就极大增加了游戏场景图的复杂度而且内存浪费比较严重。此外,在内存管理上,复杂的引用关系将导致内存释放错误和指针错误等问题。
因此,有必要提出一种更优地的方案来解决上述问题。
【发明内容】
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡科利德斯科技有限公司,未经无锡科利德斯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010143735.1/2.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06F 电数字数据处理
G06F19-00 专门适用于特定应用的数字计算或数据处理的设备或方法
G06F19-10 .生物信息学,即计算分子生物学中的遗传或蛋白质相关的数据处理方法或系统
G06F19-12 ..用于系统生物学的建模或仿真,例如:概率模型或动态模型,遗传基因管理网络,蛋白质交互作用网络或新陈代谢作用网络
G06F19-14 ..用于发展或进化的,例如:进化的保存区域决定或进化树结构
G06F19-16 ..用于分子结构的,例如:结构排序,结构或功能关系,蛋白质折叠,结构域拓扑,用结构数据的药靶,涉及二维或三维结构的
G06F19-18 ..用于功能性基因组学或蛋白质组学的,例如:基因型–表型关联,不均衡连接,种群遗传学,结合位置鉴定,变异发生,基因型或染色体组的注释,蛋白质相互作用或蛋白质核酸的相互作用