CN102880470A - 一种三维游戏引擎内核结构 - Google Patents

一种三维游戏引擎内核结构 Download PDF

Info

Publication number
CN102880470A
CN102880470A CN2012103457700A CN201210345770A CN102880470A CN 102880470 A CN102880470 A CN 102880470A CN 2012103457700 A CN2012103457700 A CN 2012103457700A CN 201210345770 A CN201210345770 A CN 201210345770A CN 102880470 A CN102880470 A CN 102880470A
Authority
CN
China
Prior art keywords
engine
unit
function
functional
module
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.)
Granted
Application number
CN2012103457700A
Other languages
English (en)
Other versions
CN102880470B (zh
Inventor
刘福财
任雁鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Shiyu Polytron Technologies Inc
Original Assignee
ZHONGSHAN SHIYU UNIS TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZHONGSHAN SHIYU UNIS TECHNOLOGY Co Ltd filed Critical ZHONGSHAN SHIYU UNIS TECHNOLOGY Co Ltd
Priority to CN201210345770.0A priority Critical patent/CN102880470B/zh
Publication of CN102880470A publication Critical patent/CN102880470A/zh
Application granted granted Critical
Publication of CN102880470B publication Critical patent/CN102880470B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种三维游戏引擎内核结构,包括有划分封装了三维引擎底层各子算法功能单元、实现三维游戏引擎底层渲染的引擎功能模块,以及作为引擎内核对外接口用于引擎功能模块中各子算法功能单元与引擎外部接口进行通讯连接的自定义功能接口模块。本发明的目的是通过对引擎内核中子算法单元的静态与动态功能的划分,自定义出与引擎外部接口进行通讯的自定义功能接口模块,便于上层接口的功能调用,通过其上的功能调用接口单元进行统一的调用管理,功能属性接口单元或动态功能更新接口单元进行相应的功能调用运算,提高处理效率。

Description

一种三维游戏引擎内核结构
[技术领域]
本发明涉及一种三维游戏引擎内核结构。
[背景技术]
随着计算机虚拟现实技术、三维游戏技术的发展,三维游戏引擎成为三维游戏开发必不可少的环节。逼真的游戏场景及三维效果需要复杂的三维渲染功能实时显示支持,对于三维游戏引擎的设计,其所包含的三维游戏引擎子功能的实现和封装就成了引擎实现的关键部分。
在三维图形和3D游戏场景中,每个像素最终显示出来的颜色都是经过大量计算得到的,真实感图形绘制是三维模型的一个重要组成部分,它综合利用数学、物理学、计算机科学和其他科学知识生成具有真实感的图形。同时场景中的模型还依赖于场景中的光照以及场景中物体对光线的反射和吸收情况。模型动画是游戏引擎的一个重要功能,在设计游戏引擎的时候,会将一些基本的动画功能封装植入引擎,方便用户的调用。
引擎的另一个重要功能是碰撞检测,它可以检测游戏中各物体的物理边缘。当两个3D物体撞在一起的时候,这种技术可以防止它们相互穿过。材质渲染也是引擎的重要功能,当3D模型制作完成后,需要按照不同的面把材质贴图赋予模型,最后再通过渲染引擎把模型、动画、光影、特效等所有效果实时计算出来显示在屏幕上。
目前比较成熟的三维游戏引擎,如果用于商业领域,成本过高,而且规模大耗用计算机资源大,对于设计一些简单三维游戏的应用,不需要涉及如此高的成本;同时,不同的三维游戏会在某个引擎功能方面使用较多,而有的引擎功能使用较少,针对不同的应用,需要有不同功能针对性的三维游戏引擎,而这主要取决于三维游戏引擎内核的封装,结合实际需求进行三维游戏引擎内核的封装,内核功能的可扩展及满足后续的补充和修改成为了必要。
[发明内容]
本发明克服了上述技术的不足,提供了一种三维游戏引擎内核结构,通过对引擎内核中子算法单元的静态与动态功能的划分,自定义出与引擎外部接口进行通讯的自定义功能接口模块,便于上层接口的功能调用,通过其上的功能调用接口单元进行统一的调用管理,功能属性接口单元或动态功能更新接口单元进行相应的功能调用运算,提高处理效率。
为实现上述目的,本发明采用了下列技术方案:
一种三维游戏引擎内核结构,包括有划分封装了三维引擎底层各子算法功能单元、实现三维游戏引擎底层渲染的引擎功能模块1,以及作为引擎内核对外接口用于引擎功能模块1中各子算法功能单元与引擎外部接口进行通讯连接的自定义功能接口模块2。
所述引擎功能模块1包括有通过对特定功能属性的参数值的设定或修改就能表现场景模型功能特征的静态功能模块11,以及需要根据当前场景模型数据坐标进行实时更新计算才能逼真表现其功能特征的动态功能模块12。
所述自定义功能接口模块2包括有用于在功能调用时负责传递静态功能模块11静态功能所对应的特定功能属性参数给引擎外部接口的功能属性接口单元21,负责对引擎内核动态功能数据的实时计算和更新的动态功能更新接口单元22,以及用于实现对引擎功能模块1的静态功能和动态功能进行统一调用管理的功能调用接口单元23,所述功能调用接口单元23分别与功能属性接口单元21、动态功能更新接口单元22控制连接。
所述静态功能模块11包括有三维模型建模单元111、光源节点添加单元112、材质功能添加单元113、渲染功能添加单元114、粒子系统节点单元115。
所述动态功能模块12包括需要根据当前场景模型数据坐标进行实时更新计算才能逼真表现其功能特征的子算法功能单元有矩阵变换功能单元121、摄像机漫游单元122、拾取交互功能单元123、模型动画功能单元124、碰撞检测单元125。
本发明的有益效果是:
1、引擎内核功能即引擎功能模块中各子算法功能单元进行静态与动态的划分,扩展性和兼容性好,容易满足后续的补充和修改,通过本发明的结构容易实现子算法功能的调用。
2、自定义功能接口模块兼容性好,便于与引擎外部接口的衔接,提高三维引擎对外的兼容能力。
3、通过功能调用接口单元对功能属性接口单元、动态功能更新接口单元统一调用控制,对各子功能算法单元进行有序管理和组织,提高整个引擎内核处理数据的效率。
4、通过动态功能更新接口单元负责对引擎内核动态功能数据的实时计算和更新,使整个场景显示的效果更加逼真。
5、整个三维游戏引擎内核封装结构容易实现,耗用计算机资源少,成本低。
[附图说明]
图1为本发明的结构示意图。
图2为本发明的引擎功能模块结构示意图。
[具体实施方式]
下面结合附图与本发明的实施方式作进一步详细的描述:
如图1所示,一种三维游戏引擎内核结构,其特征在于包括有划分封装了三维引擎底层各子算法功能单元、实现三维游戏引擎底层渲染的引擎功能模块1,以及作为引擎内核对外接口用于引擎功能模块1中各子算法功能单元与引擎外部接口进行通讯连接的自定义功能接口模块2。
在本设计中,结合具体引擎功能的特征,所述引擎功能模块1将三维引擎子功能划分成两类,通过对特定功能属性的参数值的设定或修改就能表现场景模型功能特征的静态功能模块11,以及需要根据当前场景模型数据坐标进行实时更新计算才能逼真表现其功能特征的动态功能模块12。
如图2所示,所述的静态功能模块11包括的子算法功能单元有三维模型建模单元111、光源节点添加单元112、材质功能添加单元113、渲染功能添加单元114、粒子系统节点单元115,上述单元经设定参数后会表现出应有的静态功能特征。
所述的动态功能模块12包括需要根据当前场景模型数据坐标进行实时更新计算才能逼真表现其功能特征的子算法功能单元有矩阵变换功能单元121、摄像机漫游单元122、拾取交互功能单元123、模型动画功能单元124、碰撞检测单元125,这些单元的功能需要实时显示更新数据,才能逼真表现其功能。
虽然在实时三维引擎显示中,所有模型都是动态呈现的,但此处的静态功能模块11与动态功能模块12中子算法功能单元的划分归类是相对于在如何表现功能特征上来说的,静态功能模块11中的子算法功能单元只需要通过设定一些特定参数就可以使功能持续呈现的子功能,这种静态功能的调用只需与引擎外部接口进行一两次通讯就能完成,而动态功能模块12中的子算法功能单元则需要根据当前数据坐标进行实时更新计算才能逼真表现功能特征。
比如,在场景中有一头牛,当调用渲染功能添加单元114将其变成红色时,只需调用一次渲染功能添加单元114对应渲染功能参数将其颜色参数改成红色对应的数据值即可,因此,渲染功能添加单元114被划分进静态功能模块11中的功能单元。而如果显示这头牛在场地中走来走去,则需要实时调用牛的当前位置坐标信息,并调用矩阵变换功能单元121计算其坐标值,然后不断地通过引擎外部接口回传给场景,使牛能够逼真的显示到位置处理后的坐标点,这样的数据需要计算机一直实时做大量的数据处理,因此,矩阵变换功能单元121被划分进动态功能模块12中的功能单元。
如上所述,引擎功能模块1中各子算法功能单元进行静态与动态的划分,扩展性和兼容性好,容易满足后续的补充和修改。
如图1所示,在本设计中,所述自定义功能接口模块2是结合引擎功能模块1的静态与动态功能划分方式而设计的,其包括功能属性接口模块21、动态功能更新接口单元22和功能调用接口单元23。
所述的功能属性接口模块21负责传递三维引擎功能的静态功能变量给外部接口。
所述功能调用接口单元23负责引擎外部接口与三维引擎子功能实现调用的双向传递。
所述动态功能更新接口单元22负责对于引擎内核动态功能数据的实时计算和更新。
所述功能调用接口单元23分别与功能属性接口单元21、动态功能更新接口单元22控制连接。
结合上述引擎功能模块1静态与动态功能的划分,所述静态功能模块11在功能调用中,只需要把设置相应静态功能单元的功能属性参数通过自定义功能接口模块2传递给引擎外部接口即可完成其功能的调用,因此将静态功能模块11中各静态功能单元的功能属性参数接口进行统一并与功能属性接口单元21相接,同时各静态功能单元是否调用通过功能调用接口单元23进行统一管理。
比如对于光源节点功能的调用,首先通过功能调用接口单元23调用光源节点添加单元112,然后通过功能属性接口单元21设置光源在场景中的类型、颜色、聚光指数、光源衰减因子等参数,所述光源类型如定向光源、定位光源或者聚光灯等,所述颜色包括环境光颜色、漫反射光颜色、镜面反射光颜色,所述光源衰减因子包括常数衰减因子、线性衰减因子、平方衰减因子等,经过设置以后,光源即在场景中以此状态一直存在,直到通过功能调用接口单元23停止对光源节点的调用。
而对于动态功能模块12中功能的调用,同样通过功能调用接口单元23调用所需要的子算法功能单元,需要引擎内核实时更新计算外部场景数据,因此还需要通过动态功能更新接口单元22与其相接,首先通过功能调用接口单元23启用某一功能,然后通过动态功能更新接口单元22传递场景中的数据给相应的子功能单元,子功能单元对数据进行处理后再将实时数据传递给动态功能更新接口单元22,动态数据需要实时计算,因此在运行时会占用大量的内存资源。
比如需要调用模型之间的碰撞检测功能时,首先通过功能调用接口单元23启用碰撞检测单元125,此时需要通过动态功能更新接口单元22将场景中的模型数据传递给碰撞检测单元125,碰撞检测单元125对模型套用碰撞检测盒,然后对模型与模型的检测盒是否相交进行实时计算和检测,当检测到检测盒相交时,即认定为模型发生了碰撞,然后再通过动态功能更新接口单元22传递给其他功能模块做出相应的处理。
如上所述,自定义功能接口模块2兼容性好,便于与引擎外部接口的衔接,提高三维引擎对外的兼容能力。
如上所述,引擎功能模块1中各子功能单元并非独立存在,很多时候都会多个功能同时发生作用,此时通过功能调用接口单元对功能属性接口单元、动态功能更新接口单元统一调用控制,对各子功能算法单元进行有序管理和组织,提高整个引擎内核处理数据的效率,通过动态功能更新接口单元负责对引擎内核动态功能数据的实时计算和更新,使整个场景显示的效果更加逼真。

Claims (3)

1.一种三维游戏引擎内核结构,其特征在于包括有划分封装了三维引擎底层各子算法功能单元、实现三维游戏引擎底层渲染的引擎功能模块(1),以及作为引擎内核对外接口用于引擎功能模块(1)中各子算法功能单元与引擎外部接口进行通讯连接的自定义功能接口模块(2);
所述引擎功能模块(1)包括有通过对特定功能属性的参数值的设定或修改就能表现场景模型功能特征的静态功能模块(11),以及需要根据当前场景模型数据坐标进行实时更新计算才能逼真表现其功能特征的动态功能模块(12);
所述自定义功能接口模块(2)包括有用于在功能调用时负责传递静态功能模块(11)静态功能所对应的特定功能属性参数给引擎外部接口的功能属性接口单元(21),负责对引擎内核动态功能数据的实时计算和更新的动态功能更新接口单元(22),以及用于实现对引擎功能模块(1)的静态功能和动态功能进行统一调用管理的功能调用接口单元(23),所述功能调用接口单元(23)分别与功能属性接口单元(21)、动态功能更新接口单元(22)控制连接。
2.根据权利要求1所述的一种三维游戏引擎内核结构,其特征在于所述静态功能模块(11)包括有三维模型建模单元(111)、光源节点添加单元(112)、材质功能添加单元(113)、渲染功能添加单元(114)、粒子系统节点单元(115)。
3.根据权利要求1所述的一种三维游戏引擎内核结构,其特征在于所述动态功能模块(12)包括需要根据当前场景模型数据坐标进行实时更新计算才能逼真表现其功能特征的子算法功能单元有矩阵变换功能单元(121)、摄像机漫游单元(122)、拾取交互功能单元(123)、模型动画功能单元(124)、碰撞检测单元(125)。
CN201210345770.0A 2012-09-18 2012-09-18 一种三维游戏引擎内核结构 Active CN102880470B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210345770.0A CN102880470B (zh) 2012-09-18 2012-09-18 一种三维游戏引擎内核结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210345770.0A CN102880470B (zh) 2012-09-18 2012-09-18 一种三维游戏引擎内核结构

Publications (2)

Publication Number Publication Date
CN102880470A true CN102880470A (zh) 2013-01-16
CN102880470B CN102880470B (zh) 2015-08-19

Family

ID=47481809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210345770.0A Active CN102880470B (zh) 2012-09-18 2012-09-18 一种三维游戏引擎内核结构

Country Status (1)

Country Link
CN (1) CN102880470B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106639A (zh) * 2013-01-29 2013-05-15 广东科学技术职业学院 一种原型体数据加速系统和方法
CN105413176A (zh) * 2015-11-10 2016-03-23 内蒙古工业大学 一种应用于游戏的3d引擎系统
CN105955833A (zh) * 2016-06-06 2016-09-21 腾讯科技(深圳)有限公司 引擎调用方法和装置
CN109271156A (zh) * 2018-09-25 2019-01-25 Oppo广东移动通信有限公司 游戏平台的底层调用方法及相关产品

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508644A (zh) * 2011-09-22 2012-06-20 Tcl集团股份有限公司 一种3d用户界面图形引擎架构

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508644A (zh) * 2011-09-22 2012-06-20 Tcl集团股份有限公司 一种3d用户界面图形引擎架构

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
唐先辉: "3D游戏引擎的研究与实现", 《中国优秀硕士论文电子期刊网》, no. 12, 15 December 2010 (2010-12-15), pages 5 - 11 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106639A (zh) * 2013-01-29 2013-05-15 广东科学技术职业学院 一种原型体数据加速系统和方法
CN105413176A (zh) * 2015-11-10 2016-03-23 内蒙古工业大学 一种应用于游戏的3d引擎系统
CN105955833A (zh) * 2016-06-06 2016-09-21 腾讯科技(深圳)有限公司 引擎调用方法和装置
CN109271156A (zh) * 2018-09-25 2019-01-25 Oppo广东移动通信有限公司 游戏平台的底层调用方法及相关产品

Also Published As

Publication number Publication date
CN102880470B (zh) 2015-08-19

Similar Documents

Publication Publication Date Title
CN105354872B (zh) 一种基于3d网页游戏的渲染引擎、实现方法及制作工具
US8004518B2 (en) Combined spatial index for static and dynamic objects within a three-dimensional scene
CN102169596B (zh) 一种在嵌入式设备上实现3d渲染的方法及装置
CN113674389B (zh) 场景渲染方法、装置、电子设备及存储介质
US7019742B2 (en) Dynamic 2D imposters of 3D graphic objects
Montero et al. Designing and implementing interactive and realistic augmented reality experiences
CN101477701B (zh) 面向AutoCAD和3DS MAX软件的植入式真三维立体渲染方法
CN101477700B (zh) 面向Google Earth与Sketch Up的真三维立体显示方法
CN103413343B (zh) 一种3d图像动画引擎
CN102426691A (zh) 一种基于gpu的实时火焰效果的模拟方法
CN105631925A (zh) 基于osg三维渲染引擎预处理的三维场景生成方法及装置
Bijl et al. Advanced 3D visualization for simulation using game technology
CN101315703A (zh) 三维大规模场景动态管理方法
CN106683193A (zh) 一种三维模型的设计方法和设计装置
CN102880470A (zh) 一种三维游戏引擎内核结构
CN107248190A (zh) 一种三维游戏引擎的场景图设计方法及系统
CN104958900A (zh) 用于开发2d场景和3d角色的游戏引擎系统及调用方法
CN101477702A (zh) 计算机显卡的植入式真三维立体驱动方法
Yang et al. A Human‐Computer Interaction System for Agricultural Tools Museum Based on Virtual Reality Technology
CN101511034A (zh) 面向Skyline的真三维立体显示方法
CN101488230B (zh) 面向VirtualEarth的真三维立体显示方法
CN101488232B (zh) 面向C Tech软件的植入式真三维立体显示方法
CN101482977B (zh) 面向Microstation的植入式真三维立体显示方法
CN101561936B (zh) 面向GeoGlobe的真三维立体显示方法
CN118247404A (zh) 模型渲染方法、装置、存储介质及电子装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 528400 Guangdong city of Zhongshan Province West political road 1

Patentee after: Guangdong Shiyu Polytron Technologies Inc

Address before: 528400 Guangdong province Zhongshan City Shiqi District Dongming Road No. 85 East China branch of private science and Technology Park

Patentee before: Zhongshan Shiyu Unis Technology Co., Ltd.

CP03 Change of name, title or address