一种游戏植被系统的制作方法

文档序号:6505687阅读:242来源:国知局
一种游戏植被系统的制作方法
【专利摘要】一种游戏植被系统,弥补当前游戏植被系统的不足,其特征在于:本发明实现了由植被场景管理,植被种植策略,植被渲染优化,植被淡入淡出,植被光照,植被动画等六大模块的系统架构。本发明自动生成植被,减少美工工作量,降低开发成本;提高植被的渲染效率,可以渲染更加密集的植被;模拟更加真实的自然环境,增加玩家在游戏的代入感;可以渲染大量的植被,产生更加逼真的影像。本发明节省游戏开发成本,提高游戏开发效率;同时对系统各设计模块进行独立设计和封装,扩展性好,易维护。
【专利说明】一种游戏植被系统
【技术领域】
[0001]本发明涉及游戏引擎开发【技术领域】,特别是一种游戏植被系统。
【背景技术】
[0002]随着游戏图形技术的发展,玩家对游戏画面的追求也越来越高,游戏对自然的模拟度也越来越高。然而进行实时渲染自然场景,并为其他的游戏引擎需要保留足够的CPU和GPU资源是很困难的。植物的图像需要很多的视觉深度和细节才能令人信服。目前很多引擎的植被系统存在以下几个缺点:
[0003]一是植被要美术去刷,如果地图很大的话会花费很多时间;二是植被的种类比较单一;三是植被的花,草,灌木不会随风而动;四是植被的渲染效率比较低,不能显示大量的植被。

【发明内容】

[0004]本发明目的是为了弥补当前游戏植被系统的不足,而提供一种游戏植被系统。
[0005]为实现上述目的,本发明采用了下列技术方案:
[0006]—种游戏植被系统,包括植被场景管理,植被种植策略,植被渲染优化,植被淡入淡出,植被光照,植被动画。
[0007]植被场景管理:
[0008]在相机周围建立一个时间空间固定的栅格,每个栅格单元包含渲染它所在物理空间层的所有数据,单元数据结构存储了对应的顶点、索引缓冲区和材质信息来再现要画的东西;对于植物的每个层,建立相机到层的距离,这决定了虚拟栅格的大小;相机移动,虚拟栅格也随着移动,当一个栅格单元不再在虚拟栅格中时,丢弃它并在需要卫华完整栅格结构的地方添加新的单元,每添加一个单元,就用一个种植算法把渲染所需的数据填充到层。
[0009]植被种植策略:
[0010]对于充满自然物体的每个单元,在地面上选择要放置那些物体的适当位置;采用试探的方法根据被放置对象的类型来选择这些点,以需要的密度随机选点;然后看地面上的对应点是否适合于要种植的东西;本设计采用的种植方式是选择所有与单元相交的多边形,丢弃所有不适合种植的多边形,然后扫描并转换它们来寻找适合的种植点。
[0011]植被渲染优化:
[0012]本设计以实时的方式渲染无边的草地需要GPU技术和算法之间做平衡,在相对低的计算和渲染开销下产生高度复杂的外观视觉,这些通过创建逼真的草体来实现;绘制每个草叶可用草丛产生这种视觉效果,用一个带有合适的草纹理、面向相机的方形来表示;自然的公告板以最小的开销产生草体的影像,大片的草地仍然需要大量的绘制API,当一次绘制很大的批时,GPU效率很高;本设计确定如何以相对少的绘制API画出草地,使用的方式是每次画一个公告板,在一次绘制调用中画出尽量多的内容,本设计草的每个层,即使用相同纹理和其他参数的所有草的每个栅格单元由一个顶点和一个索引缓冲区;对种植的每个草丛,将其位置写入顶点缓冲区并更新响应的索引缓冲区;每个公告板需要四个顶点和六个索引;对于每个顶点,将位置设置为已经种植草丛的点;即一个公告板的全部四个顶点都有相同的位置,可以在顶点着色器中偏移这个位置以产生正确的面向相机的方形形状;若果草纹理符合三角形的形状,对每个草丛就可以少处理一个顶点;当渲染这种三角形集合时,顶点不会再变换和光照后的缓冲中重用。
[0013]植被淡入淡出:
[0014]在渲染草的时候,想要使用透明来改善视觉混合和在接近虚拟栅格边界时的淡出,本设计采用溶解效应代替alpha混合来模拟透明;首先用一个噪音纹理调制草纹理的alpha通道,然后使用alpha测试从渲染中去除像素,通过从0到I调节alpha测试数值,纹理表现出溶解的现象。
[0015]植被光照:
[0016]光照在草的外观上扮演了重要的角色,对于公告板草,要确保草和下面的地面一样受光,地面自然的起伏,并淫才获得了不同角度的日光;本设计通过减弱草的亮度来模拟这点,在顶点定义中通过另一个向量传递这一信息,在种植的时候,确定种植上草的多边形法线并把它带入公告板的定义中,顶点着色器就可以进行和草下的多边形一样的光照计算,在多丘陵的地形上,会导致草和地面一样有细微的到光的角度信息变化,本设计在种植处理期间必须平滑的差值通过顶点着色器的法线。
[0017]植被动画:
[0018]当风能吹动草的时候,草就变的生动了,每一帧偏移草方形顶部的两个顶点就可以使方形在风中摇摆,使用一个正弦近似的计算这个偏移,这个技巧是在顶点定义中带一个混合权重,草方形的顶部两个顶点被设成1,底部两个顶点为0,然后把这一个数值乘以风的放缩系数,底部的顶点仍然牢牢的种在地上;对于另外的变化,在种植期间略微随机变换顶点两个顶点权重。
[0019]本发明的有益效果:
[0020]一是自动生成植被,减少美工工作量,降低开发成本;
[0021]二是提高植被的渲染效率,可以渲染更加密集的植被;
[0022]三是模拟更加真实的自然环境,增加玩家在游戏的代入感;
[0023]四是本设计可以渲染大量的植被,产生更加逼真的影像。
【专利附图】

【附图说明】:
[0024]以下结合附图和【具体实施方式】来进一步说明本发明。
[0025]图1为本发明中植被场景管理所使用的格子系统示意图。
[0026]图2为本发明中植被渲染优化示意图。
[0027]图3为本发明中植被淡入淡出示意图。
【具体实施方式】
[0028]为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明的植被场景管理,植被种植策略,植被渲染优化,植被淡入淡出,植被光照,植被动画。
[0029]植被场景管理:
[0030]如图1所不,本设计在相机周围建立一个时间空间固定的栅格,来管理每一层植物和其他自然物体的种植数据。每个栅格单元包含渲染它所在物理空间层的所有数据。特别是,单元数据结构存储了对应的顶点、索引缓冲区和材质信息来再现要画的东西。对于植物的每个层,建立相机到层的距离,层需要用它来产生视觉效果,这决定了虚拟栅格的大小。相机移动,虚拟栅格也随着移动。当一个栅格单元不再在虚拟栅格中的时候,丢弃它并在需要卫华完整栅格结构的地方添加新的单元。每添加一个单元,就用一个种植算法把渲染所需的数据填充到层。
[0031]植被种植策略:
[0032]对于充满自然物体的每个单元,需要在地面上选择要放置那些物体的适当位置。采用试探的方法根据被放置对象的类型来选择这些点。通常,以需要的密度随机选点。然后看地面上的对应点是否适合于要种植的东西。在本设计实现过程中,地面多边形的材质决定了一个层是否适用。本设计采用的种植方式是选择所有与单元相交的多边形,丢弃所有不适合种植的多边形,然后扫描并转换它们来寻找适合的种植点。这与渲染中的光栅化一个多边形类似,但是改为每个遍历的‘像素’是一个世界空间的潜在种植点。必须小心的保证扫描转换速率适合密度,而且不超过三角形的边界。然后,在每个选择的种植点,沿着多边形的平面偏移合适的随机距离以去除重复的模式,这一点很重要。所有的这些数值都是可以调整的系数。最后,本设计在转换扫描时也必须小心剪切多边形的边缘和单元的边界,因为多边形可能超过它。以这种方式种植可以是实时的,也可以作为离线预处理的一部分完成。
[0033]植被渲染优化:
[0034]本设计以实时的方式渲染无边的草地需要GPU技术和算法之间做平衡。要的挑战是在相对低的计算和渲染开销下产生高度复杂的外观视觉。这些通过创建逼真的草体来实现。绘制每个草叶在现在的GPU上是不可能的事情。但可以用草丛产生这种视觉效果。最好用一个带有合适的草纹理、面向相机的方形来表示。自然的公告板以最小的开销产生草体的影像。然后,大片的草地仍然需要大量的绘制API,因此,必须小心的使用次方法,以达到足够的体积和密度。
[0035]当一次绘制很大的批时,GPU效率很高。因此,本设计的目标是确定该如何以相对少的绘制API画出草地。合理的方式是每次画一个公告板。而实际上本设计想要的是在一次绘制调用中画出尽量多的内容。为了达到目的,本设计草的每个层(即使用相同纹理和其他参数的所有草)的每个栅格单元由一个顶点和一个索引缓冲区。如图2所示。对种植的每个草丛,将其位置写入顶点缓冲区并更新响应的索引缓冲区。每个公告板需要四个顶点和六个索引。对于每个顶点,将位置设置为已经种植草丛的点。这意味着,一个公告板的全部4个顶点都有相同的位置,但是可以再顶点着色器中偏移这个位置以产生正确的面向相机的方形形状。另外,若果草纹理符合三角形的形状,对每个草丛就可以少处理一个顶点。更好的是,此时不再需要索引,而且忽略索引完全不会有损性能,当渲染这种三角形集合时,顶点不会再变换和光照后的缓冲中重用。
[0036]植被淡入淡出:[0037]在渲染草时,想要使用透明来改善视觉混合和在接近虚拟栅格边界时的淡出,然而,基于alpha的透明并不理想,因为它需要排序且速度很慢。为此,本设计采用溶解效应代替alpha混合来模拟透明。首先,用一个噪音纹理调制草纹理的alpha通道,然后使用alpha测试从渲染中去除像素,通过从0到I调节alpha测试数值,纹理表现出溶解的现象。这一过程如图3所示。这顶技术的优点是alpha测试的速度快而且与顺序无关。我们不需要排序,草依然可以再远处淡出。植被光照:
[0038]光照在草的外观上扮演了重要的角色。对于公告板草,要确保草和下面的地面一样受光。地面自然的起伏,并淫才获得了不同角度的日光。本设计通过减弱草的亮度来模拟这点,因此,需要知道草所在表面的地面角度,一个简单方法是在顶点定义中通过另一个向量传递这一信息。在种植的时候,确定种植上草的多边形法线并把它带入公告板的定义中。通过这种方式,顶点着色器就可以进行和草下的多边形一样的光照计算,从而减弱它的色彩。在多丘陵的地形上,这会导致草和地面一样有细微的到光的角度信息变化。遗憾的是,这种方式导致草有一面一面的着色现象,即使地面的多边形是几乎平滑着色的。为了避免该问题,本设计在种植处理期间必须平滑的差值通过顶点着色器的法线。植被动画:
[0039]当风能吹动草的时候,草就变的生动了。每一帧偏移草方形顶部的两个顶点就可以使方形在风中摇摆。通过使用一个正弦近似的计算这个偏移,这个技巧是在顶点定义中带一个混合权重,草方形的顶部两个顶点被设成1,底部两个顶点为0,然后把这一个数值乘以风的放缩系数,底部的顶点仍然牢牢的种在地上。对于另外的变化,可以在种植期间略微随机变换顶顶两个顶点权重。这模拟了草的软硬区别。在风中摇摆的时候,草叶时常改变对其光的方向,导致她们变量或变暗。本设计使用风向来增加光照,来模拟这一效应。
【权利要求】
1.一种游戏植被系统,其特征在于:本发明实现了由植被场景管理,植被种植策略,植被渲染优化,植被淡入淡出,植被光照,植被动画等六大模块的系统架构。
2.根据权利要求1所述的一种游戏植被系统,其特征在于:所述植被场景管理,在相机周围建立一个时间空间固定的栅格,每个栅格单元包含渲染它所在物理空间层的所有数据,单元数据结构存储了对应的顶点、索引缓冲区和材质信息来再现要画的东西;对于植物的每个层,建立相机到层的距离,这决定虚拟栅格的大小;相机移动,虚拟栅格也随着移动,当一个栅格单元不再在虚拟栅格中时,丢弃它并在需要卫华完整栅格结构的地方添加新的单元,每添加一个单元,就用一个种植算法把渲染所需的数据填充到层。
3.根据权利要求1所述的一种游戏植被系统,其特征在于:所述植被种植策略,对于充满自然物体的每个单元,在地面上选择要放置那些物体的适当位置;采用试探的方法根据被放置对象的类型来选择这些点,以需要的密度随机选点;然后看地面上的对应点是否适合于要种植的东西;本设计采用的种植方式是选择所有与单元相交的多边形,丢弃所有不适合种植的多边形,然后扫描并转换它们来寻找适合的种植点。
4.根据权利要求1所述的一种游戏植被系统,其特征在于:所述植被渲染优化,以实时的方式渲染无边的草地需要GPU技术和算法之间做平衡,在相对低的计算和渲染开销下产生高度复杂的外观视觉,这些通过创建逼真的草体来实现;绘制每个草叶可用草丛产生这种视觉效果,用一个带有合适的草纹理、面向相机的方形来表示;自然的公告板以最小的开销产生草体的影像,大片的草地仍然需要大量的绘制API,当一次绘制很大的批时,GPU效率很高;本设计确定如何以相对少的绘制API画出草地,使用的方式是每次画一个公告板,在一次绘制调用中画出尽量多的内容,本设计草的每个层,即使用相同纹理和其他参数的所有草的每个栅格单元由一个顶点和一个索引缓冲区;对种植的每个草丛,将其位置写入顶点缓冲区并更新响应的索引缓冲区;每个公告板需要四个顶点和六个索引;对于每个顶点,将位置设置为已经种植草丛的点;即一个公告板的全部四个顶点都有相同的位置,可以在顶点着色器中偏移这个位置以产生正确的面向相机的方形形状;若果草纹理符合三角形的形状,对每个草丛就可以少处理一个顶点;当渲染这种三角形集合时,顶点不会再变换和光照后的缓冲中重用。
5.根据权利要求1所述的一种游戏植被系统,其特征在于:所述植被淡入淡出,在渲染草的时候,想要使用透明来改善视觉混合和在接近虚拟栅格边界时的淡出,本设计采用溶解效应代替alpha混合来模拟透明;首先用一个噪音纹理调制草纹理的alpha通道,然后使用alpha测试从渲染中去除像素,通过从O到I调节alpha测试数值,纹理表现出溶解的现象。
6.根据权利要求1所述的一种游戏植被系统,其特征在于:所述植被光照,光照在草的外观上扮演了重要的角色,对于公告板草,要确保草和下面的地面一样受光,地面自然的起伏,并淫才获得了不同角度的日光;本设计通过减弱草的亮度来模拟这点,在顶点定义中通过另一个向量传递这一信息,在种植的时候,确定种植上草的多边形法线并把它带入公告板的定义中,顶点着色器就可以进行和草下的多边形一样的光照计算,在多丘陵的地形上,会导致草和地面一样有细微的到光的角度信息变化,本设计在种植处理期间必须平滑的差值通过顶点着色器的法线。
7.根据权利要求1所述的一种游戏植被系统,其特征在于:所述植被动画,当风能吹动草的时候,草就变的生动了,每一帧偏移草方形顶部的两个顶点就可以使方形在风中摇摆,使用一个正弦近似的计算这个偏移,这个技巧是在顶点定义中带一个混合权重,草方形的顶部两个顶点被设成1,底部两个顶点为O,然后把这一个数值乘以风的放缩系数,底部的顶点仍然牢牢的种在地 上;对于另外的变化,在种植期间略微随机变换顶点两个顶点权重。
【文档编号】G06F9/44GK103605501SQ201310289708
【公开日】2014年2月26日 申请日期:2013年7月1日 优先权日:2013年7月1日
【发明者】刘涛, 黄利 申请人:绵阳市武道数码科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1