3D游戏程序设计中简化模型细节层次的开发设计
中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2013)27-6143-04
随着中国游戏产业的发展,一款游戏无论是在行为,状态及画面上,游戏设计师都会用更好的技术来再现真实世界给游戏玩家。这是游戏所传递着对真实世界体验转化成数字媒介体验的一种表现。玩家虽然没有亲身地参与运动,但却在玩一款包含了这些行为、状态及画面的数字游戏从而感觉到同样的愉快。在画面上,游戏设计师可以通过增加模型的细节,使角色几乎可以成为照片的级别,场景也可以媲美真实世界。然而,在表现真实感图形学中,需要绘制3D角色或场景的复杂度非常高,而且一个复杂的角色和场景也有可能会包含几十甚至几百万个多边形面,所以要实现复杂度很高的真实感图形在游戏中表现出来是很困难的。在3D游戏中。三维实体都可以认为是由一组三角形面构成。在实时3D真实感游戏的绘制过程中,如果要得到某种特定视觉效果并能符合人的视觉特性来简化模型三角形的细节层次,可以有效的解决这类问题。
当游戏中的物体离观察点的距离较远时,经过数学方法所设定的游戏程序来简化模型,合并一些可以不损失画面视觉效果三角形。也就是说对一个原始的复杂度较高的高面数的模型,可以建立出几个不同逼近程度的几何模型,与原模型相对应。每个模型不同程度的保留一定的层次细节,当观察从近处观察物体的时候,则采用精细的模型图形元素,当观察都从远处观察物体的时候,则采用较粗糙的模型图形元素。这样对于一个复杂的模型而言,可以减少模型的复杂度,而且绘制图像的速度也能够大幅度的提高,这是层次细节显示和简化技术的基本原则。不过值得注意的是当视点连续变化的时候,两个不同层次的模型之间就会存在一个明显的跳跃,所以必须要在相邻层次的模型之间产生一种光滑的视觉处理,使得绘制的图像呈现高度真实感。层次细节简化技术的研究主要是集中在如何建立原始模型不同层次细节模型简化的数学方法。
1 层次细节简化技术的基本方法
对于原始网格模型不同细节层次的模型建立,一般都被转化为三角形网格状,因此可以从网格的几何特性着手,而这种技术可以归纳出3种不同的基本简化演算,分别是“顶点删除”、“边界压缩”及“面的收缩”。
1.1 顶点删除
“顶点删除”技术是删除网格中的一个顶点,然后再对它的相邻三角形做出一个相应的调整,以保持网格的一致性。如图1所示。
1.2 边界压缩
“边界压缩”技术是将网格上的一条边压缩成一个顶点,这个顶点与该边相邻的两个三角形一起退化掉,而再把它的两个顶点融合成一个新的顶点,如图2所示。
1.3 面的收缩
“面的收缩”技术是将网格上的一个面收缩成一个顶点,让该三角形本身的和与其相邻的3个三角形一起退化掉,而它的3个顶点则收缩成另一个新的顶点,如图3所示。
利用上述的基本演算,只要确定每一次演算三角形网络模形所带来的误差值,并用这个误差来计算原始网格上的一个基本元素的误差并当作是它的不会被删除的权利值,然后再开始循环进行网格基本简化的演算。
对于“顶点删除”和“面的收缩”演算而言,需要在对像与其相邻基本元素之间建立起相对应的关系。对于“边界压缩”演算面言,只要简单地将压缩边上的两点与压缩后的新点建立起相对应的关系就可以了。“边界压缩”是一种在算法上更为简便的方法,也是减少网格中三角形数量的常用方法。
2 边界压缩的数学算法
边界压缩方法的主要目的就是寻找模型中三角网格中的一些边,如果删去这些边不会引起三角网格形状的巨大改变,就将其从三角网格中删除,同时通过一个端点保持不变,而另一个端点移到第一个端点的位置,然后合并两个端点来实现边界压缩。按照这个方法,共享压缩边的两个三角形将被删除,而留下的空洞则通过将共享移动端点的三角形进行延伸来弥补。当然,由于两个端点占据了相同的位置,可以删除被移动的端点,因此,一条边的压缩将会删除网格中的两个三角形,一条边和一个顶点。如图4所示。
通过计算每条边的两个压缩代价(一个端点一个压缩代价),可以确定最终将压缩三角形网格中的哪些边删除。基于三角网格外观的变化量,可以计算出删除一条边中的每个端点的压缩代价。具有最低压缩代价的端点的边将被最先删除。如果一条边被定义为不可删除的边,那么其端点的压缩代价相应地设置为一个较大的值。
边的压缩代价由边的长度和三角网格的平坦度共同决定,三角网格的平坦度是指那些环绕将被删除端点的边的两侧三角网格的平坦度。假设要计算图5中所示的端点V1的删除代价,如图中所示在边压缩的过程中,端点V1被移到端点V2的位置。首先计算端点V1处的法向量N,N为环绕该端点的所有三角形的法向量的平均值。
细节层次简化是实时3D图形学中应用比较多的一项技术,通过这种技术,可以简化游戏中的角色或场景的复杂度,同时也可以采用不同分辩率的模型来显示复杂角色或场景的不同物体,以满足实时3D的要求。
参考文献:
[1] 珍妮·诺瓦科.游戏设计完全教程[M].糜晓波,译.上海:上海人民美术出版社,2008.
[2] 李兰友.计算机绘图与图像处理基础[M].北京:机械工业出版社,2010.
[3] 吉姆.汤普森.英国游戏设计基础[M].张凯功,译.上海:上海人民美术出版社,2008.
上一篇:嵌入式软件测试技术创新分析