欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > 开放世界地形渲染:以三角洲行动为例(下篇)

开放世界地形渲染:以三角洲行动为例(下篇)

2025/5/17 10:45:29 来源:https://blog.csdn.net/Raymond_King123/article/details/148007658  浏览:    关键词:开放世界地形渲染:以三角洲行动为例(下篇)

  • 本文主要介绍如何提升室外画面渲染的品质

版权声明

  • 本文为“优梦创客”原创文章,您可以自由转载,但必须加入完整的版权声明
  • 文章内容不得删减、修改、演绎
  • 本文视频版本:见文末

渲染品质提升

  • 要提升画面的品质,就是去提升渲染的画面效果和细节度,主要包括以下几个方面:
    • 动态效果
    • 悬崖峭壁
    • 远景的细节渲染
    • 地面的贴花处理

动态效果

  • 动态效果是指使整个场景看上去更有生气,主要包括地形的颜色变化,湿度变化以及明暗的变化,使其看上去更逼真,让地形没有很严重的塑料感

颜色变化:染色

  • 首先看一看颜色变化怎么实现,地形颜色的变化可以通过染色的方式实现

  • 那什么叫染色呢?大家先通过下图看一下有没有进行染色的差别(左边是染色的效果,右边是没有染色的效果)

  • 染色原理就是在地面上刷了地形的顶点颜色,使地形染上了想表达的颜色
  • 染色需要用到一些刷顶点色的工具,怎么刷顶点色呢?可以参考一下我其他文章的分享内容

Clipmap

  • 如果地图比较大,那么地形要渲染的顶点数量就会比较多,之前分享过一种方式,就是根据地形的高低起伏和远近进行LOD,这里介绍另一种方式---Clipmap

  • Clipmap的原理是把靠角色比较近的三角形面片渲染的比较精细,越远的位置渲染的越粗略
  • 并且渲染策略是会随着离当前摄像机,也就是离的角色距离越远,渲染效果就会越降低一个层级。这个类似于贴图的Mipmap技术,其实顶点绘制也有Mipmap这个功能
  • 下图显示了RenderDoc分析的优化效果

湿度变化:潮湿度

  • 第二个提升动态效果的方式是表现地形的湿度变化

  • 湿度变化其实也是刷顶点,就是用顶点刷绘制哪些部分是潮湿的
  • 需要注意潮湿和干燥的地形之间需要一个过渡,这个过渡是通过控制笔刷的轻重产生一个权重的变化,从而实现边缘过渡的效果

染色:湖泊+积水

  • 可以看一下染色的另外一种表现,对于湖泊或者是积水,它可以通过对地形进行顶点色的绘制来染色

染色:草

  • 看一下染色在草上面的变化

  • 在渲染这些草的时候,可以表现地面上面这些草颜色变化
  • 这个颜色变化也是通过刷草的颜色来实现的,刷草的颜色其实跟刷地形、刷头发(参考文末“头发渲染”)是一样的,都是通过顶点绘制来实现的

  • 再介绍一种简单的方法,如果某一块地形草的颜色是红色(如图红圈所示),可以在绘制地形的时候,专门建立一张贴图,把这张贴图画成红色,就表示这一块的草是用红颜色来进行绘制

染色:树木

  • 染色还可以在场景里面用来表现树木

  • 树木的实现可以通过一种叫做Billboard也就是公告版技术,但是公告板渲染树木会有点不真实的感觉
  • 可以用另外一种方式---Impostor,Impostor就是用替身的方式实现,对于这块内容感兴趣可以关注一下我,我后面也会进行分享

峭壁渲染

  • 下面看看峭壁渲染这块,主要是三平面渲染的内容

  • 对于这种侧边的地面,如果不进行特殊处理,其实就是把地形贴图的一个切面在地形上面进行拉伸,这种方式拉伸以后效果就比较差
  • 怎么样去表现这些峭壁细节呢?就需要使用三平面渲染的方式,对侧面仍然进行贴图的绘制,但是在进行贴图绘制的时候使用的UV坐标采样的方式是不一样的
  • 它不仅可以从地面进行采样,也可以从侧面进行贴图的采样,因此不会出现走样的问题

  • 上图展示了用三平面影射跟和不用的区别,如果不用的话,那么本来贴地面贴的很好的纹理在贴侧面的时候就会被拉伸。如果使用了三平面纹理影射,就不会有这个问题了

  • 因为三平面纹理影射需要采样三次,所以性能开销也会更大,所以还可以再用一种技术---基于重要性的三平面纹理影射采样进行优化
  • 在我的一个项目里面,在进行瀑布渲染的时候,也是采用了三平面影射的方式,因为瀑布是从上垂直流到地面,然后到水面,所以也需要用三平面影射才不会出现走样
  • 对于这个项目有兴趣的可以看一下参考,联系Alice交流学习

近景细节提升

  • 近景的细节提升主要是指地面的贴花,比如地面的裂痕,就是使用贴花实现的

  • 贴花有两种,一种是世界空间贴花,一种是对象空间贴花,想要更详细的学习可以看看我其他的分享。这里地面的贴花用世界空间贴花就可以了
  • 贴花本质上只是一张贴图,所以如果走近之后,从侧面看,而不是从顶上看,就会发现就是一张贴图
  • 对于路边的这种小石子,如果想让它更加真实,那怎么办呢?就需要使用曲面细分的技术

  • 可以观察到,如果用贴花实现看上去就不够真实,如果用曲面细分就会更加真实、立体
  • 关于曲面细分的内容,可以参考一下进阶内容,这里篇幅有限,不再赘述

  • 完整视频请点击本链接观看:https://www.bilibili.com/video/BV13ZGQzUE9a
  • 更多技术干货alice17173

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com