1、LUNA 游戏引擎介绍学院:计算机科学与技术班级: 学号:姓名: LUNA 游戏引擎介绍LUNA游戏引擎系LUNA团队精心研发的拳头产品,该引擎秉承了国内外许多著名游戏引擎的优点,并开创式的融入了多个游戏引擎制作的新模式、新观点,较好的吸引了其他知名游戏引擎的精华,是中国国内游戏引擎中非常优秀的作品,虽然该引擎的商业版迟迟未能推出,但丝毫不能阻挡业界开发者想揭开她神秘面纱的想法,现在特对该引擎作一些技术揭秘:LUNA 游戏引擎经过多个版本的更新和衍生,从最初单纯的游戏基本库到如今拥有完整且多元化的游戏制作解决方案,经历了五个年头。在这五个年头里,LUNA引擎的主要开发者Villa Lee先后数
2、次大刀阔斧的整改引擎的结构和框架,由其是最近一个版本的更新,耗费了半年时间之间,实时的给引擎注入代表当今世界最领先图形技术和游戏制作技术。为了具备与操作系统无关性的特点,LUNA引擎单独划出了两个底层管理模块。第一个是操作系统转置层,该层中主要封装了Linux、Win32等不同操作系统的,同时包含了底层错误反应系统、事件驱动系统、CPU监测管理系统、Thread Manager、和两个高精度计时器;另一个是操作系统管理层,类似于MSDOS的Io.sys。该层中主要集成了Memory监测管理系统、管道处理系统、管道映射表分析器、管道搜索器、FPU/3D Now!/SSE 优化指令集。同大多数著名
3、的引擎一下,LUNA有极为丰富的高效的渲染指令。并且这些指令是以类工厂形式提供给引擎使用者使用的。各个指令的分类以及各个其他非渲染类子系统相关的功能如下表: 角色动画、模型系统支持Lod Mesh,根据视点距离自动减面及调整细节等级。支持顶点位移、旋转、缩放动画支持蒙皮(Skin )支持骨架和骨架动画。3ds max 中的Biped、Bones 或Dummy 等均可作为骨架输出。支持材质动画支持路径动画支持材质坐标系动画支持贴花纸(Decal)动画支持贴花纸坐标系动画支持融合和形变动画,例如从人变成龙或其他动物支持面部表情动画支持可见度动画,如模型或模型部分淡入淡出。支持通用和任意缩放动画,或
4、模型的部分任意缩放动画支持动画合成,同一模型同时可以播放多个动画,不同动画会自动叠加合成,不同动画可以按照不同的速度播放。支持自定义动画长度和播放速度,在模型输出时可以调整动画的播放速度。支持动画播放运行时加速、减速。支持动画中某帧触发相对应的事件,例如播放到动画中某一帧的时候进行扣血等。支持对模型的部分进行操作。支持环境贴图、反射贴图、细节贴图等,可以做反光效果等。 碰撞检测系统快速准确的碰撞检测算法。支持边界框碰撞。支持AABB 碰撞。支持射线碰撞。支持任意形状的碰撞。支持按照不同类别的物件进行分类碰撞。例如可以设定玩家与地面、静态物件等发生碰撞,怪物与地面发生碰撞却不与静态物件发生碰撞等
5、。 效果系统效果系统包含对各种光效组合的支持,全面提升游戏画面的可视性:支持材质自动融合。支持实时动态阴影。支持动态光效,支持非线性光效动画,可自定义RGB 三色关键帧动画。支持爆炸效果。支持熔岩效果。支持太阳眩光。支持闪电特效。支持镜头颤动效果,可自定义颤动的物理频率和振幅。支持刀光剑影。支持雨雪效果,雨雪材质可以从指定的材质列表中随机选择,雨雪量大小、风力大小、雨量速度等等参数可以自定义,支持暴风雨效果(特定算法)。支持水花和波纹、气泡效果。支持物件被击破产生碎片。支持运动模糊效果。支持自定义特效,可以在显卡上对硬件显示模块进行直接编程,高速执行,算法类似Uneal3。所有自定义特效可以通
6、过特效管理器进行管理,并可分别运用在不同模型上。 粒子系统 自定义粒子触发方向、发散参数、发散位移参数、生存周期、间隔周期、内外延角、风力参数、推进力参数、重力、推进力变化参数、速度参数等等参数。支持动态贴图,可以调整材质变换速度。支持粒子不同阶段使用不同颜色。粒子发散器可以控制粒子喷射数量。粒子可以绑定在模型上特定节点。专门有为粒子编写的粒子脚本编辑器方便策划人员编写漂亮的粒子。 室内场景系统支持BSP/PORTAL/PVS 算法。支持光图。支持室内动态光效,支持顶点光。支持室内全场景警报状态,全场景产生某种特定光效。支持多层细节层,自动减面。支持材质替换。支持路径编辑。可用于过场动画或游戏
7、。支持室内触发器。支持镜像物件,如镜子等。支持自定义节点。支持力场。 室外场景系统支持无边际连续室外地形,地形可以动画变化。支持海底场景和天界等无重力场景。室外地形支持连续自动减面。室外地形支持多种材质,支持同一区域上多材质,支持材质自动融合。支持流水和动态波纹,支持天空倒影,水流波浪等参数均可调整。支持昼夜变化。支持质量雾。支持场景中可见度。支持太阳光和太阳光效,太阳光支持颜色和亮度的关键帧非线性变化,太阳高度角可以变化。支持天空中多层动态云层。场景中支持风,支持风速变化,支持暴风。 场景管理系统细节层管理器,可对场景中所有物件进行同一细节层管理。光效管理器,可对场景中众多光效进行同一管理。
8、场景分区域管理,无缝衔接。高速搜索算法,管理需要渲染的对象。 格式容合系统格式容合系统主要是为了高效的重复利用开发者已拥有的游戏资源,可以不经任何其他转换直接应用到游戏中而设计。支持兼容文件格式包含如下清单:完全支持QUAKE 引擎的.MDL/.MD2/.MD3/.BSP/.WAD文件格式,并提供直接高效渲染方法完全支持COLLADA DTE格式以及微软的.X的MESH、SKINMESH模型文件格式,并提供直接高效渲染方法完全支持MS3D文件模式,并提供直接高效渲染支持.3DS文件顶点动画和模型文件模式,并提供直接高效渲染方法支持.PNG/.DDS/.TGA/.BMP/.IMG/.PCX/.G
9、IF/.WMF等等诸多常用的图片文件格式支持目前应用较大的.WAV/.MP3/.MID/.SND/.WMV/.AVI/.MPEG等等声音媒体文件格式用户界面系统全真模拟Windows 的结构化控件的管理系统各控件可以按照不同的方式随父控件缩放、移动良好的扩展性,容易增加新控件3D音频系统支持多种音频格式:WAV、MP3、MIDI、WMA 、CD 音轨等。多通道音效。支持真实3D 音效,支持多普勒声波衰弱算法、3D 音频摇动。支持软件和硬件加速混音,支持DirectSound、EAX 2、EAX 3。支持高级音效处理(类似Winamp 的DSP 系统)。人工智能系统新一代交互系统长期以来,游戏玩
10、家主要是通过键盘、鼠标或游戏手柄来完成游戏操作,引擎在对这些基本游戏交互设备的支持情况下,特意融合了国际较为知名的低分辨率动态图像识别算法和语音识别算法,使玩家在较低成本投入情况下,用肢体或行为语音来完成对LUNA游戏引擎开发的游戏的操作。增添了对游戏的参与性及亲身体验感。其中动态图像识别系统包含:动作跟踪、动作运动轨迹计算、动作深度判定、色相位自调节、正切线二次插补等子模块。识别速度快、精度较高。网络引擎系统LUNA游戏引擎本着最低的游戏开发成本为宗指,在强大的图形渲染平台上加入了高效的网络引擎系统,该系统采用IOCP完成端口模型P2P超接点网络技术,支持TCP/IP、UDP、HTTP等多种
11、网络传输协议,使开发者在较短的开发周期内制作出高质量的网络程序。物理引擎系统游戏中的玩家运动均按照真实的动力学计算,整个场景中包含重力、重力场。场景中存在风,烟可以随风飘动;水中存在更大的阻力和浮力,有些物体可以随水流走。支持钢体精确碰撞。支持针对汽车、飞行器材、船支等交通工具类的不同动力学算法。支持自由落体或施加力、力场的物体运动,例如子弹等,可以留下漂亮的弹道。配合自制的骨骼系统轻松完成物体碎裂、变形、散落等现实世界描述LUNA引擎从开发伊始,就十分重视游戏工具、编缉器的开发。目前已经成功开发了方便实用的工具套间,其中包括:场景编辑器 、 脚本编辑器、模型编辑转换器、模型和动画VIEWER 、 音频编辑器,其中场景编辑器包括地形编辑模块、运行时调试工具、属性编辑模块 、 任务编辑模块等等。