GameRes游资网探讨大世界游戏的制作流程及技术——大场景制作技术概况篇( 三 )
然而在这阶段仍然可以开发一些自动化的工具来协助提高编辑速度 , 比如:道路/河流/桥梁编辑工具、物件组合生成器、物件自动对齐地形、群落生成器等等 。
渲染分析
前面讨论了地形制作的流程 , 下面简要地分析地形渲染的相关技术 , 还是以《刺客信条 奥德赛》的截帧画面来例子 。
本文插图
画面由GPA截取所得 , 初步分析:画面上看到的东西分为四类:地形、人物、岩壁模型、植被
主角脚下附近的地形网格明显被曲面细分过 , 细分区域集中在道路上 , 可知仅有道路材质具有曲面细分功能 。 主角站立面积大约占地形正常网格一个单位 , 推测地形精度为0.5m 。
同屏内地形材质数量4-5个:泥石、草皮、泥土、石质 。 水坑的实现考虑为贴花 。
岩壁模型被大量运用在地形斜坡上 。
本文插图
地形材质
要实现如此庞大且多样的地形地貌 , 且要满足近处高质量的细节要求 , Tilling材质混合是唯一的选择 。 通过Substance、Quixel等获得高精度的四方连续材质的pbr贴图 , 然后通过多张权重图将不同类型的材质混合在一起 , 从而构造出丰富的地形地貌 , 这些权重图称为splat map 。
然而 , 手动会绘制如此庞大的地形混合权重图是不可能事情 , 幸运的是 , 我们在world machine/houdini制作地形的时候 , 可以通过算法来生成这些地形材质的分布 , 并获得各种规则生成的mask , 最终合成导出为我们想要的splat map 。
远方地形如果依然使用tilling材质混合的方法 , 会出现明显的重复感 , 所以我们预先烘焙导出一份“宏观俯瞰图”global color map用作远景渲染 。
本文插图
地形材质方案
地形混合技术:三件事情
(1)当前像素用到哪些贴图(2)应每一层贴图的权重是多少(3)混合的算法
方案一:Unreal的地形材质采用经典的方案:一张权重图weight map包含四个通道只能混合四种材质 , 超出四种材质就要新建一张weight map 。 而一种材质包含albedo、normal、roughness/metallic三张贴图 , 四层材质就要13个纹理samples , 可见shader的计算是非常昂贵的 。 使用此方法渲染地形 , 必须要对地形的材质有很好的规划和控制 。
本文插图
我们已经很熟悉的权重贴图
方案二:一些自研引擎常常会采用id map的方法 , 在绘制地形的时候 , 引擎会自动筛选出当前区块内权重最高的4种材质 , 并将他们的index和权重储存到id map中 。 在shader在解码id map信息 , 就知道对应的材质和权重了 。
方案三:runtime虚拟贴图技术 , 简而言之就是通过预先将地形的材质混合(在computer shader中计算)并缓存到一张巨大的实时纹理上 , shader采样时只需要从这张大纹理中拿到属于自己的那“一块”即可 , 拿到的结果已是最终的混合结果 。 原来要采样多张图然后混合 , 现在相当于就是单层材质了 , shader的性能也得到极大的提升 。
本文插图
贴花
贴花能有效增强场景材质的多样性 , 但存在overdraw重叠绘制的开销 。
runtime虚拟纹理技术的另外一个收益就是能极大地降低贴花的性能消耗 , 因此能突破限制被大量运用到场景中 。
水摊、碎石、公路划痕等贴花类型被广泛使用并以程序化的方式放置 。
推荐阅读
- 主封板|游资情报|“妖王”涨停背后,万和成都通盈街携手章盟主封板;方新侠扫货通裕重工
- 公司|游资情报|“妖王”涨停背后,万和成都通盈街携手章盟主封板;方新侠扫货通裕重工
- 中新经纬|创业板个股游资炒作迹象明显 杨德龙:股价低不等于真“便宜”
- 游资炒作|创业板个股游资炒作迹象明显 杨德龙:股价低不等于真“便宜”
- 创业板|创业板个股游资炒作迹象明显 杨德龙:股价低不等于真“便宜”
- 姜艺|机构出逃游资热炒,乐歌股份实控人今年增持浮盈9000万
- 游资|机构出逃游资热炒,乐歌股份实控人今年增持浮盈9000万
- 车驰夜幕|联合国向你发来活动邀请:与全球尖端人士探讨关注自然的真谛
- 新华网|适用率高 上诉率低——法律界肯定认罪认罚从宽制度成效 探讨制度完善
- 老陈聊旅游|旅游资源丰富,却从三线掉至四线城市!,我国最“可惜”的省会
