3D游戏引擎构架及游戏动画渲染技术分析
2017-08-03姜超
姜超
(大连工业大学 艺术与信息工程学院,辽宁 大连 116000)
摘 要:随着科技的发展,计算机的性能不断地提升,3D技术在各个领域中的运用日益成熟。目前,很多游戏都运用3D技术来进行游戏动画的渲染,它们让游戏中的画面变得更加真实且丰富。本文就3D游戏引擎构架及游戏动画的渲染技术做出简要分析。
关键词:3D游戏引擎;动画渲染;技术分析
中图分类号:TP391.41 文献标识码:A 文章编号:1005-5312(2017)18-0125-01
从电脑游戏的刚刚起步,到今日的日渐成熟,可以说是经历了一个快速又巨大的变化。这和它所采用的游戏引擎是分不开的,本文将从3D游戏引擎的构架入手,然后通过动画模型在3D规格界面的调用以及动画模型在3D游戏中的显示等方面分析3D游戏引擎下的游戏动画渲染技术。
一、3D游戏引擎构架
3D游戏与2D游戏的最大却别,就是游戲画面趋于立体、更加精致,游戏中所需要被提供的功能更多,如静态网格模型、粒子系统、动态、曲面、灯光等。对于这些功能,我们可以将它们归结为几个模块,即系统模块、控制台模块、数据存储模块、游戏接口模块、游戏插件模块和底层渲染模块。
其中系统模块起到了3D游戏引擎和硬件之间做通信交互的作用,它其中图形子系统模块和声音子系统模块等小的系统模块;控制台模块起到了调节设置的作用,对于一些测试和错误,控制台模块可以及时的进行更改;数据存储模块的作用是将内存数据和游戏本身的数据进行组织的作用,也就是我们平时玩游戏时的存档;游戏接口模块的作用是连接编辑人员和游戏引擎,好方便编辑人员对于游戏内部灯光、音效及关卡的编辑;而游戏插件模块是用来弥补游戏画面中的不足,所以编写一定的模型转换插件转换成3D引擎格式。这些都是3D游戏引擎的基本模块,可让玩家最明显接触到的模块、让3D游戏画面区别于2D游戏画面,在3D游戏引擎之中起到关键作用的是底层渲染模块,它可以对游戏画面进行渲染,让游戏整体画面变得更加逼真,效果更加明显,它通过一些如OpenGL库、Direct3D来完成效果的实现。
二、游戏动画渲染技术
在3D游戏画面的游戏动画的制作中,渲染技术可以让每一个物体都呈现出一定的质感,这种技术能够将游戏变得更富有真实性。
(一)动画模型在3D规格界面的调用
动画模型在3D规格界面的调用,在这里所说的方法为Direct3D方法。首先要对Direct3D进行初始化,之后要建立Direct3D的设备以及对象;然后在X文件(微软为DX开发提供的一种3D文件)读取模型,这是因为我们要用的3DMAX所制作的三维模型要在Direct3D使用之前必须转换成特定的格式;接着我们要设立透视投影以及并观察矩阵,前者是为了将3D的物体及游戏画面在二维的电脑显示屏上显示出三维的效果,而后者是用来研究玩家人物视角的朝向;接着要设置世界坐标,这是为了将游戏中的物体进行游戏世界坐标的设置,以方便我们日后对它进行调节;在设置坐标完成之后,我们要来设置一下游戏中系统的灯光,这样能够让游戏中的物体及其他画面在玩游戏时可以得到显示,这里的灯光大概分为三种灯光的类型,点光源、聚光源还有平行光源,我们要根据游戏类型的不同以及风格的不同作出合适的选择;最后,要进行一定模型的渲染,将我们在X文件里读取的模型的纹理、网格等表现出来。
(二)动画模型在3D游戏中的显示
1.纹理图案的生成。纹理图案的生成主要采用的是纹理映射的技术。这项技术是通过将游戏中三维场景中是物体进行二维参数化的转变。它是通过游戏中三维物体表面上的任意一点进行一定的计算,算出二维的数值,即u和v,然后通过u和v计算出物体应该的纹理值,进而对物体整个表面进行纹理图案的生成,这样做可以使游戏中的画面更有细节化,也就显得更加真实。计算不同形状的物体需要不同的映射方法,有的需要取多个数值,还要进行不同坐标系中进行相互的转换。
2.缓冲技术。缓冲技术也是动画模型在3D游戏中显示的重要因素,它可以在游戏画面转变时防止画面的闪烁,画面的闪烁,也就是我们通常所说的游戏画面卡顿。缓冲技术对于画面的整体效果以及使用感受都有很大的提升,DirectX主要采用的技术有两种,一是双缓冲技术,还有一种是后备缓冲技术。(1)双缓冲技术。双缓冲技术的工作原理是在游戏画面之外的缓冲区域上画每一个动画的备用图像,也就是在缓冲区画出图像,然后将这种图像迅速拷贝到显示画面上。这种技术虽然有效地实现了防止游戏画面卡顿的现象,但是,它进行拷贝会产生一定的延时,效果不如后备缓冲技术。(2)后备缓冲技术。后备缓冲技术的工作原理是在主画面时创造时同时创造游戏画面中的颜色以及物体形状,创造出一个与主画面一样的缓冲的画面,然后用DirectDraw进行函数Flip0的交换,这样便能让后备缓冲画面显示在主缓冲的画面上,完成动画的交换。根据后备缓冲显示模型可知,主缓冲画面和后备缓冲画面的交换技术要比双缓冲技术应用起来更加快捷,也会使游戏画面运行得更加流畅,但前提条件是DirectDraw接口的问世。渲染是3D游戏的动画制作中最为重要的一环,缓冲技术能为游戏渲染提供更好的展示效果。
三、结论
本文主要阐述了3D游戏引擎的构架并简要分析了动画模型在3D规格界面的调用、动画模型在3D游戏中的显示这两方面的技术,随着游戏业的日益发展,3D游戏的竞争日益激烈,在游戏引擎上的更新和游戏动画渲染技术上的突破会变得越发重要。