一种三维游戏引擎系统技术方案

技术编号:8215487 阅读:246 留言:0更新日期:2013-01-17 12:47
本发明专利技术公开了一种三维游戏引擎系统,其特征在于包括有用于显示三维模型场景视图窗口、提供人机交互操作的上层设计界面,划分封装了三维引擎底层各子算法、实现三维游戏引擎底层渲染的引擎功能模块,以及作为中间控制层用于实现上层设计界面与引擎功能模块之间界面和底层渲染的信息交互的场景管理器。本发明专利技术的目的是提供一种通过对系统各设计模块分别进行独立设计和封装,扩展性好,将三维引擎与窗口设计通过中间场场景管理器进行功能关联,并将三维游戏引擎庞大的功能体系进行划分封装,实现低成本高效执行相应功能的三维游戏引擎系统。

【技术实现步骤摘要】
—种三维游戏引擎系统本专利技术涉及一种三维游戏引擎系统。随着计算机硬件、三维图形技术、虚拟现实技术的发展,逼真的三维视觉世界正在逐步走入人们的生活,它给人们呈现的梦幻般的境界,正在引起人们的广泛关注,建立三维视图体系并进行推广和发展已经成为当前技术的热门领域。三维游戏是目前市场开发的重点领域,三维游戏引擎是三维游戏设计的基础,三维游戏侧重交互和三维动画的实时性,因此三维游戏引擎系统结构的组织方法成为技术的核心问题,好的系统组织方法不仅有利于内存的管理,而且能够加速场景绘制,同时还方便实时交互的实现。特别是当场景越来越复杂时,系统组织方法就显得更加重要。目前虽然有一些比较成熟的三维游戏引擎可以满足大部分用户的需求,比如Virtools软件,但是如果采用这些游戏引擎开发三维游戏进行商业运营时,需要交纳较高的版权费,同时软件本身功能强大,对于开发较小规模三维游戏时不需要涉及如此复杂的功能,却占用系统资源高且影响运算速度,又需要承担较多的使用费,从成本角度和使用便利性角度考虑,自主开发三维游戏引擎系统就成为必要,本专利技术正是基于此出发点,自主设计了一套三维游戏引擎的组织结构,既满足上层用户需求,同时降低了成本和软件资源开销。本专利技术克服了上述技术的不足,提供了一套三维游戏引擎系统结构,将三维引擎与窗口设计通过场景管理器的中间层进行功能关联,实现界面和渲染功能的关联,完成三维游戏引擎系统结构的设计,并且系统各层设计模块分别进行独立设计和封装,具有较好的扩展性,便于后期的维护和开发扩展,降低软件使用的成本。为实现上述目的,本专利技术采用了下列技术方案一种三维游戏引擎系统,包括有用于显示三维模型场景视图窗口、提供人机交互操作的上层设计界面1,划分封装了三维引擎底层各子算法、实现三维游戏引擎底层渲染的引擎功能模块2,以及作为中间控制层用于实现上层设计界面I与引擎功能模块2之间界面和底层渲染的信息交互的场景管理器3,所述上层设计界面I包括有用于接收并随时更新底层渲染信息、实时再现用户操作所产生的三维模型场景视图窗口效果的场景视图窗口单元11,用于显示场景内所有三维模型节点层级关系和节点属性的节点层次窗口单元12,以及用于列出与引擎功能模块2底层渲染各子功能对应的引擎子功能目录窗口单元13,所述场景管理器3包括有与上层设计界面I连接的用于完成上层设计界面I渲染窗口注册的窗口场景管理单元31,用于把上层设计界面I接收到的用户操作映射为基本命令序列后提交给底层引擎功能模块2的命令序列管理单元32,以及用于上层设计界面I与引擎功能模块2进行信息交互、并且提供上层设计界面I中场景视图窗口单元11与节点层次窗口单元12之间的双向拾取功能、以及记录场景视图窗口单元11中的三维模型的执行操作记录和状态以提供给窗口场景管理单元31、命令序列管理单元32执行操作的重复和撤销功能的拾取及操作模式管理单元33,所述窗口场景管理单元31、命令序列管理单元32分别与拾取及操作模式管理单元33连接。所述上层设计界面I还包括有用于方便用户使用界面功能的命令控制键单元14,所述命令控制键模块14包括菜单栏子单元141、操作快捷键子单元142、动画预览键子单元143。所述引擎功能模块2包括有实现底层渲染功能的几何体绘制单元201、3D文件读取单元202、光源节点添加单元203、材质功能添加单元204、渲染功能添加单元205、粒子系统节点单元206、矩阵变换功能单元207、摄像机漫游单元208、拾取交互功能单元209、模型动画功能单元210、碰撞检测单元211、以及脚本设计单元212。本专利技术的有益效果如下 I、将三维引擎与窗口设计通过中间层的场景管理器进行功能关联,实现界面和渲染功能的关联,完成三维游戏引擎系统结构的设计,方便用户设计使用。2、系统各层设计模块分别进行独立设计和封装,具有较好的扩展性。3、将三维游戏引擎基本子算法进行划分封装,实现低成本高效执行相应功能的三维游戏引擎系统。图I为本专利技术三维游戏引擎系统结构示意图。图2为本专利技术上层设计界面结构示意图。图3为本专利技术引擎功能模块结构示意图。下面结合附图与本专利技术的实施方式作进一步详细的描述三维游戏引擎系统采用上层界面设计加底层三维游戏引擎功能的方式进行实现,上层界面设计与底层三维游戏引擎功能通过场景管理层组织的接口进行通信。界面主要设计实现人机交互所需的直接操作窗口,底层三维游戏引擎功能包括划分封装好的三维游戏引擎基本子算法,主要实现三维游戏引擎的主要功能,两者通过场景管理层的接口,实现界面和底层渲染的信息交互,场景管理层作为中间控制层。如图I所示,一种三维游戏引擎系统,包括上层设计界面I、引擎功能模块2和场景管理器3,方便用户设计使用。如图2所示,上层设计界面I用于用户进行三维游戏编辑的交互界面,应用此渲染界面,用户可以进行三维角色的渲染和游戏设计并导出最终文件,是整个引擎界面的窗口显示部分,用户对窗口的各种操作、配置、点击等事件,通过场景管理器3转化为实际命令、操作等,并传递到三维引擎的下层。上层设计界面I的界面主体部分包括场景视图窗口单元11、节点层次窗口单元12和引擎子功能目录窗口单元13,另外,界面设计中添加了相应的命令控制键单元14以方便界面功能的快捷使用,所述命令控制键模块14包括有菜单栏子单元141、操作快捷键子单元142、动画预览键子单元143。如上所述场景视图窗口单元11是整个场景显示给用户的视图窗口,窗口功能需要实时再现用户操作所产生的3D效果,主要用来接收并随时更新底层渲染产生的视图信肩、O如上所述节点层次窗口单元12用来显示场景内三维模型所有的节点层级关系,同时也列出场景内节点的属性。对于用户来讲,场景中所有三维模型都是用节点的结构进行组织的,所以不同的节点又具有不同的属性,节点与节点之间也会存在一定的关系,所有的节点树结构及属性都通过节点层次窗口模块12展示出来,方便用户对三维模型各节点的了解。如上所述引擎子功能目录窗口单元13主要依据三维游戏引擎所具有的主要功能进行划分,方便用户对具体功能的界面化操作和调用,引擎子功能目录窗口单元13所列出的功能与底层引擎功能模块2的各渲染功能单元对应。如图3所示,引擎功能模块2是对三维引擎各子算法的功能封装,以提供标准化的操作,同时提供必要的与上面各层次的交互接口。本专利技术结合三维游戏基本算法的功能进行分类,主要以光照、渲染、材质、拾取、矩阵变换、碰撞检测、脚本设计等几个大的方面进行功能划分。引擎功能模块2包括有几何体绘制单元201、3D文件读取单元202、光源节点添加单元203、材质功能添加单元204、渲染功能添加单元205、粒子系统节点单元206、矩阵变换功能单元207、摄像机漫游单元208、拾取交互功能单元209、模型动画功能单元210、碰撞检测单元211、脚本设计单元212。上述渲染单元中的几何体绘制、3D文件设计、光源节点添加、材质功能添加、渲染功能添加、粒子系统节点都属于三维游戏引擎的静态节点功能,用户操作引擎子功能目录窗口单元13,所需功能通过读取引擎功能模块2相应的功能封装单元,然后通过修改功能属性使相应功能实时添加到场景节点内,记录在节点层次窗口单元12中。而矩阵变换功能、摄像机漫游、拾取交互功能、模型动画功能、碰撞本文档来自技高网...

【技术保护点】
一种三维游戏引擎系统,其特征在于包括有用于显示三维模型场景视图窗口、提供人机交互操作的上层设计界面(1),划分封装了三维引擎底层各子算法、实现三维游戏引擎底层渲染的引擎功能模块(2),以及作为中间控制层用于实现上层设计界面(1)与引擎功能模块(2)之间界面和底层渲染的信息交互的场景管理器(3),所述上层设计界面(1)包括有用于接收并随时更新底层渲染信息、实时再现用户操作所产生的三维模型场景视图窗口效果的场景视图窗口单元(11),用于显示场景内所有三维模型节点层级关系和节点属性的节点层次窗口单元(12),以及用于列出与引擎功能模块(2)底层渲染各子功能对应的引擎子功能目录窗口单元(13),所述场景管理器(3)包括有与上层设计界面(1)连接的用于完成上层设计界面(1)渲染窗口注册的窗口场景管理单元(31),用于把上层设计界面(1)接收到的用户操作映射为基本命令序列后提交给底层引擎功能模块(2)的命令序列管理单元(32),以及用于上层设计界面(1)与引擎功能模块(2)进行信息交互、并且提供上层设计界面(1)中场景视图窗口单元(11)与节点层次窗口单元(12)之间的双向拾取功能、以及记录场景视图窗口单元(11)中的三维模型的执行操作记录和状态以提供给窗口场景管理单元(31)、命令序列管理单元(32)执行操作的重复和撤销功能的拾取及操作模式管理单元(33),所述窗口场景管理单元(31)、命令序列管理单元(32)分别与拾取及操作模式管理单元(33)连接。...

【技术特征摘要】

【专利技术属性】
技术研发人员:刘福财任雁鹏
申请(专利权)人:中山市世宇动漫科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1