大家好,今天将继续给大家带来一篇翻译文章。续上篇如何制作程序草丛 ?之后,这个草地的解决方案会与之前的略有不同,希望能够给你的项目开发过程中带来一些灵感。
在我概念里面,植被的创建将分为五个部分。首先是视觉质量要非常的高,一个草的叶子或是其他部分,不仅仅是绿色的简单模型片。我创建的所有的植被贴图,都是在一个可移动的工作室里扫描的,可以是在树林里,也可以是在家里,以获得最好的照明设置
其次,我们的方案还需要一些风的动画,其实,你在森林里能看到的植被并不是静止的。
第三,你需要某种与植被互动的效果。如果,你的脚踩到常春藤树枝,那么树枝应该会有一定的反应。(译:你的脚踩下去时候,植物会塌下去,脚离开后,植物又会恢复原状。)
你的植被应尽可能复杂/独特,但同时要高效。如果您只使用5种不同的草叶来设计草丛,这看起来不太好。当你拥有的植物种类越多,效果就会越好。当然,你后面要优化的也越多,对你的设计感到满意的人就越多。
3、构建草丛
最常见的制作草的方法是在albedo贴图中,把草的叶片并排排列起来,并使用一个平面UV将其映射到一个面片上。然后,把这些平面,以不同的角度相互堆叠。如果你垂直向下看草,你就会看不到下方的草叶。更好的方法是在每片草叶周围放置一个较小的平面模型,并将这些草叶作为一个结构。
这两种方式都有两大缺点:四边形(alpha通道)的透支和Shader 复杂度非常高。减少这些问题的唯一方法是单独对每片草叶进行建模,以便尽可能的降低透明通道的使用,这也将降低四边形(alpha通道)透支的问题。这种方法的缺点是顶点数比其他方法高。另外,要使用 Unreal Engine Pivot Painter Tool 2.0这个工具,这样,我们就需要一个更精细的网格来模拟风吹摆动的效果。此外,我们在UE4使用的是树叶实例,这也使得顶点数变得不那么重要。
4、多元化的草
你可以跟着我的工作流程扫描素材,你可以割草,它会保持新鲜约一个小时,这与花不同。因我住在乡下,我可以在外面搜集一大堆草,有一点要留意,选择高度多样化不同种类的草很重要。接下来,我将草带回家中,为了以后获得最佳的效果,你还需要挑选各种不同外观的叶子,你可以从下图看到这点。
对于每种草,我挑选了大约5-10种不同的独特叶片。为了获得最佳性能,我将所有这些都打包放在了一张Albedo贴图中。总的来说,我在纹理处理阶段提取出了84种不同的草叶。每个对象都进行了建模,多次复制,然后转换成不同的形状。所以,我想出了150多种不同外观的草叶。
下一步是创建草丛,你可以使用foliage刷出来。对于这个资产,我制作了82个草的笔刷组件,为你提供了高度的树叶变化。这些草丛是由100-200个草叶组成,每个草丛的平均顶点约为1200个。画笔作为对象实例工作,那么顶点数就不是很重要。使用虚幻引擎,您必须在 x、y 和 z 轴上添加大约+-20% 大小的自由变换,即草地Landscape的每个部分看起来都完全不同。
由于较低的Shader复杂性和较低的四边形透支,与其他草叶相比,性能更高,即使当前这个版本的顶点数更高。目前的LOD是由虚幻引擎自动生成的。我正在研究一个新的方案,它通过减少每个草叶的高度间隔来降低顶点数。为了测试性能,我制作了一个简单的场景并在其中放置了30k个草丛实例。在GeForce 1070 GTX情况下,帧数也能维持在 80 到 120 之间。
5、动画
草丛的动画是当前资产的关键特征。虚幻引擎中最常用的草和树叶运动动画是Simple Grass Wind节点。它的主要功能是弯曲整个草丛集群。缺点是彼此相邻的草叶具有非常相似的动画,因为,它们会以相同的强度向同一方向弯曲。尽管如此,我在项目的前期,还是使用此功能来创建风吹动草地滚动效果。
由于项目需要一个独特的Material Instance,因此,你也可以单独分配所有风参数,高草丛受风的影响比短草要多。此外,你还可以更改场景中的风向和其他值,使用这种方法,你只需点击几下,就可以改变整个植被系统的风向、风力、风的湍流和更多参数,这将使您的植被看起来非常活跃。
6、未来计划
草的组件是我推出的Biome组件必备组件的一部分。这将是一个包含所有植物、花卉、草以及更多的东西,可以很好地填满你的地形。当然,所有元素都会有风吹动的动画和优化后的效果。我将把这个Biome组件分成三个部分,第一部分是草,这是最重要的,它将是一个大组件,目前登陆UE4Marketplace,更多信息将在虚幻市场论坛上发布。另一个组件,将是野生草甸花卉和地面植物。在这之后,我打算做一个森林树叶包,里面有森林蕨类植物、小灌木、小树等元素。而在在这里,草地、风和角色之间的相互作用才是本次的重点。