节点文献

3D游戏引擎研究与实现

【作者】 江峰

【导师】 金连甫;

【作者基本信息】 浙江大学 , 计算机应用技术, 2005, 硕士

【摘要】 游戏引擎是一个处理游戏底层技术的平台,使用游戏引擎,游戏开发人员可以不用花过多精力去处理系统架构、内存管理、图像绘制等一些底层的技术,可以直接使用引擎提供的API来进行游戏开发,从而大大缩短游戏开发时间,因此引擎是非游戏特有的技术。3D引擎是游戏引擎中的子引擎,负责3D图形绘制功能,本文在分析现有3D商业引擎的基础上,设计和实现了一个功能完备的新一代3D引擎系统。 3D引擎功能主要是负责3D图形相关的功能。首先是光影效果,即场景中的光源对处于其中的人和物的影响方式。游戏的光影效果完全是由引擎控制的,折射、反射等基本的光学原理以及动态光源、彩色光源等高级效果都是通过引擎的不同编程技术实现的。 其次是模型动画,目前游戏所采用的动画系统可以分为两种:一是骨骼动画系统,一是模型动画系统,前者用内置的骨骼带动物体产生运动,比较常见,后者则是在模型的基础上直接进行变形。引擎把这两种动画系统预先植入游戏,方便动画师为角色设计丰富的动作造型。 引擎的另一重要功能是提供物理系统,这可以使物体的运动遵循固定的规律,例如,当角色跳起的时候,系统内定的重力值将决定他能跳多高,以及他下落的速度有多快。子弹的飞行轨迹、车辆的颠簸方式也都是由物理系统决定的。 碰撞探测是物理系统的核心部分,它可以探测游戏中各物体的物理边缘。当两个3D物体撞在一起的时候,这种技术可以防止它们相互穿过,这就确保模型撞在墙上时不会穿墙而过,因为碰撞探测会根据模型和墙之间的特性确定两者的位置和相互的作用关系,保证了游戏场景的真实性。 渲染是引擎的核心,当3D模型制作完毕之后,美工会按照不同的面把材质贴图赋予模型,这相当于为骨骼蒙上皮肤,最后再通过渲染引擎把模型、动画、光影、特效等所有效果实时计算出来并展示在屏幕上。渲染引擎在引擎的所有部件当中是最复杂的,它的强大与否直接决定着最终的输出质量。 引擎还负责玩家输入处理,处理来自键盘、鼠标、摇杆和其它外设的信号。 本文通过对genesis3D、unreal、quake三个引擎架构和代码的分析,设计并实现了一款具备场景模块处理、ACTOR、模型动作处理、位图处理、雾效、摄像机、象素格式、驱动处理、内存处理、物理、矩阵操作等11个功能模块的3D引擎系统。对绘制技术、碰撞检测技术、模型动画等方面都做了较为深入的研究。代码实现了一个具备独立引擎功能的系统,游戏开发人员可以在这个引擎平台上进行各种不同的游戏的开发,而不需在底层处理上花费过多时间。 本文的贡献在于: 1、设计并实现了一个具备主要图形绘制功能的3D引擎,为游戏开发人员提供了一个开发平台,使开发人员可以完全独立于底层图形API进行游戏开发; 2、设计并实现了大面积场景植被建模和绘制过程; 3、提出了高真实感植被绘制基因库概念。

【Abstract】 Game engine is a platform technique in game design . With the engine , game developers can concentrate on game design and ignore storajf system, game architecture , and rendering etc. The game developers can shorten the period of game development using the engine , So we call the engine does not belong to game design technique. 3D engine is one part of game engine, just charjfd with the 3D graphic process. This thesis design and implement a perfect 3D engine of new generation .3D engine is charjfd with the graphic process in game developing First, it control the light effect , Further more , the light echo , refraction , dynamic light, and multicolor light source are also implemented by the engine.Second, 3D engine control the animation. The two animation systems used by most of the games now are bone animation and model animation . Bone animation is that can move the model by moving the bone. Model animation do it by matrix transform.Engine also provide the physics system, making the model move according to the physics theory. For example , when an actor jump, the engine need calculate the jump height and the speed of the actor when it fall. The engine can also define how truck have a jolt ,Collision detection is the core of physics system. This module can detect the brim of object and decide the new pose of the two objects after collision .Engine can process the user input .After analyse the codes of genesis3d , unreal and quake , we design and implement a 3d engine . This engine include world module , Actor module, motion module,bitmap module, Fog, camera, pixel format,collision detection module etc.Thesis contribution:1. Design and implement a 3D engine with most of the graphic process procedure. With this 3D engine, the game developers can make a new game without considering all kinds of graphic APIs2. Establishes a complete mechanism to render the vejftation in a larjf scene3. Provide a new conception of realistic vejftation rendering.

  • 【网络出版投稿人】 浙江大学
  • 【网络出版年期】2005年 02期
  • 【分类号】TP391.4
  • 【被引频次】61
  • 【下载频次】2610
节点文献中: 

本文链接的文献网络图示:

本文的引文网络