当前位置: 首页 > 专利查询>中山大学专利>正文

一种基于PC平台的三维游戏中大型地形生成方法技术

技术编号:2947174 阅读:237 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种运行于PC平台上的三维游戏中的中大型地形的生成方法。本方法主要包括三大过程:预处理过程,节点评价过程,实时处理过程。首先从硬盘上读取地形数据,然后经过预处理处理,把地形数据取样转化为以另外一种数据格式存放的数据,然后在地形渲染时,实时处理过程会根据节点评价过程对地形节点的细节度的评价去实时渲染地形,最后还会对地形渲染时产生的裂缝进行修补。这个方法针对三维游戏中的地形生成的特点,对传统的地形算法进行了优化,提高了生成的效率,既能加强游戏场景地形的变化性、又能提高地形生成的速度,从而减轻游戏中的延迟现象,提高游戏娱乐性能。

【技术实现步骤摘要】

本专利技术涉及一种三维游戏的地形开发方法,具体来说,涉及了一种运行于PC平台上的三维游戏中的中大型地形的生成方法。
技术介绍
游戏朝三维方向发展是一个大趋势,三维游戏中,尤其在三维网络游戏中,大量的人物同时在一个场景中互动,这就要求有高效率的人物生成算法和场景生成算法。一个高效的大型地形的动态生成算法是一个三维游戏界面好坏的至关重要的因素之一。目前在大型地形的绘制算法中,大多数都是应用于地理信息系统,虚拟现实系统等,应用于游戏的实用算法比较少。本专利技术正是针对在三维游戏中如何高效的实现大型地形的绘制这个问题,提出了一个基于层次细节(LOD)思想的大型地形生成算法的模型,通过对传统地形生成算法进行优化和改变,使得算法的效率得到了很大的提高,适用于大部分游戏的要求。现有的地形生成的算法可分成小地形的生成和大地的形生成,小地形的生成比较简单,一般直接绘制地形数据就可以了,而大型地形的生成需要使用各种策略去简化地形数据来实现地形的绘制。该专利技术研究的范围是在三维游戏中如何高效的实现大型地形的绘制。目前大型地形的渲染技术主要有两种Voxel和LOD。Voxel是Volumetric Pixel的合写,又称体素,VOXEL技术出现得比较早。它是用的一种线性插值的办法来形成自然连续的起伏地形。Voxel的优点是渲染的时候它和场景的大小没有关系,绝对不会渲染多余的东西。可以在不使用硬件加速的情况下达到比较理想的速度,生成的图像比较的细腻。缺点是不够的灵活。LOD是层次细节(Level of Detail)的简称,它是一种使用多边形的,真正的三维渲染技术。它根据一定的规则来简化物体的细节,我们可以根据需要来选择不同细节程度的物体表达方式。它的优点是可以足够自由的去控制我们的场景渲染,更加方便的使用显卡的硬件加速功能。很容易的在场景中组合其他的物体。如树木,太阳以及粒子系统等,它可以方便的让观察者以任意的角度去观察场景,只要让摄影机旋转一定的角度就可以了。缺点是对场景的处理比较复杂。典型的LOD模型生成算法主要有(1)近平面合并法这类算法检测出共面或近似共面的三角面片,将这些三角面片合并为大的多边形,然后用较少数目的三角形将这个多边形重新三角化。该算法的误差评估准确性较差。它不能保证一定误差限制。(2)几何元素(顶点/边/面)删除法几何元素删除法由局部几何优化机制驱动,要计算每次删除产生的近似误差。典型的有Schroeder的顶点删除算法,Hoppe渐进网格算法(3)重新划分算法Turk的重新划分算法先将一定数量的点分布到原有网格上,然后新点与老顶点生成一个中间网格,最后删除中间网格中的老顶点,并对产生的多边形区域进行局部三角化,形成以新点为顶点的三角形网格.这种方法对那些较光滑的模型是很有效的,但对于那些不光滑的模型,效果较差;由于根据排斥力重新分布新点,涉及到平面旋转或投影,计算量和误差都较大。(4)聚类算法Rossignac等的顶点聚类算法通过检测并合并相邻顶点的聚类来简化网格。该算法实现简单、速度快,但是没有考虑到保持原始网格的拓扑和几何结构,有可能生成非常粗糙的近似网格。(5)小波分解算法Eck等的基于小波变换的多分辨率模型使用了带有修正项的基本网格,修正项称为小波系数,用来表示模型在不同分辨率情况下的细节特征。此算法可以处理任意拓扑结构的网格,而且可以提供有界误差、紧凑的多分辨率表示和多分辨率尺度下的网格编辑。现有的许多优秀地形生成算法都是比较复杂的。这些算法需要进行简化才能应用于游戏的。本专利技术提出的算法是一种静态LOD算法,它在传统的地形生成算法的基础上进行优化和简化,提高算法的效率,使得算法可以适用于大多数的三维游戏的要求。
技术实现思路
针对三维游戏的特点,本专利技术要达到的技术目的是要提供一种适用于三维游戏的中大型地形生成的方法,通过这个方法既能加强游戏场景地形的变化性、又能提高地形生成的速度,从而减轻游戏中的延迟现象,提高游戏娱乐性能。在现有的各种优秀的大型地形的生成算法中,几乎所有的算法都是以网格来表示地形的,主流的地形网格形状一般由以下几种形状组成不规则三角形,规则三角形,也就是等腰直角三角形,矩形,正方形。在本专利技术的算法中采用的是以正方形来分割地形,也就是说地形将会按某种策略分成大小不等的各种正方形,然后采用数组来存放这些正方形。一种基于PC平台的三维游戏中大型地形生成方法主要步骤包括1)预处理过程。导入数据,并使用一些复合数组结构来存储数据,这种数据结构更简洁,存储数据量也更少。2)节点评价过程。通过计算地形的每个地方和观察者的距离来决定地形每个地方的细节程度,用越多的正方形去表示这个地形,这个地形的细节度就越高。3)实时处理过程。当用户视角的位置改变时,实时处理过程会根据节点评价过程算出的地形中的各个部分的细节度来实时渲染各个地形块径。所述步骤1)预处理过程中的数据存储采用复合数组结构,数据之间的空间关系可以用数组之间的相对关系来描述;地形网格的表示采用正方形,如果不是正方形的地形可以经过处理,变成多个正方形;地形的细节度采用地形块细节度,而且地形块细节度是预储存;第一层的细分,只记录9个点,并用一个二维数组保存这些点,地形块的细分数据中第n层保存的点数为(2n+1-2n+1)2,这些数据用二维动态数组来储存。所述步骤2)节点评价过程中视点的三维坐标和地形块的三维坐标都垂直投影到xoz平面;所有地形块的必须有一样数量的层次细节数据,MinD+n×PerD=MaxD,其中n为地形块的细节数据的层数,MinD为最小距离值,MaxD为最大距离值,PerD为细节度改变步长。所述步骤3)实时处理过程包括地形块的显示选择过程和裂缝处理过程,其中使用透视的投影的方式来显示图形对象以减少必须绘制的地形块;在处理地形块之间出现的裂缝时采用的是补救的方法,也就是修补裂缝。整个算法的过程如下首先从硬盘上读取地形数据,然后经过预处理过程处理,把地形数据取样转化为以另外一种数据格式存放的数据,然后在地形渲染时,实时处理过程会根据节点评价过程对地形节点的细节度的评价去实时渲染地形,最后还会对地形渲染时产生的裂缝进行修补。附图说明图1为本方法的处理过程关系图;图2为本方法的地形块数据结构图;图3为本方法的第一次细分数据结构图;图4为本方法的视点到地形块距离计算示意图;图5为本方法的视域所覆盖的地形块图;图6为本方法的平截头体投影到xoz平面上的等腰梯形图;图7为本方法的地形块显示时有可能出现的裂缝图;图8为本方法的地形块之间的修补多边形图;图9为本方法的实施例1的地形线框图;图10为本方法的实施例1的地形图。具体实施例方式下面结合附图对本方法进行进一步阐述。本专利技术的三维游戏地形生成方法主要步骤包括预处理过程、节点评价过程和实时处理过程。如图1所示,整个算法的过程如下首先从硬盘上读取地形数据,然后经过预处理过程处理,把地形数据取样转化为以另外一种数据格式存放的数据,然后在地形渲染时,实时处理过程会根据节点评价过程对地形节点的细节度的评价去实时渲染地形,最后还会对地形渲染时产生的裂缝进行修补。下面对各个步骤进行详细的介绍1、预处理过程作用是导入数据,并把数据转换成另外的一种表现形式。在现有的优秀算法中,大多数经过处理后的本文档来自技高网
...

【技术保护点】
一种基于PC平台的三维游戏中大型地形生成方法,它的主要步骤包括:1)预处理过程:导入数据,并使用一些复合数组结构来存储数据,这种数据结构更简洁,存储数据量也更少;2)节点评价过程:通过计算地形的每个地方和观察者的距离来决定地 形每个地方的细节程度,用越多的正方形去表示这个地形,这个地形的细节度就越高;3)实时处理过程:当用户视角的位置改变时,实时处理模块会根据节点评价模块算出的地形中的各个部分的细节度来实时渲染各个地形块径。

【技术特征摘要】

【专利技术属性】
技术研发人员:王建民由芳郑子斌赵宏坚罗笑南
申请(专利权)人:中山大学
类型:发明
国别省市:81[中国|广州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1