SpeedTree 植被实战:为外星岛屿稀树草原搭建多样化植物
介绍
你好,我是 Morgane,一名来自法国波尔多的环境美术学生。我将在今年晚些时候从 Artside School 毕业!在前两年里,我学习了基础知识并发现了 3D,之后又用两年时间专攻 3D 环境。我很自豪地向你展示我在第三年作为一门入门课程的一部分所完成的一个项目!

植被项目
这个项目是在 Arnaud Claudet 的指导下,作为 SpeedTree 软件入门的一部分完成的。他是《阿凡达:潘多拉边境》的植被艺术家(我展示的解析基于他在该游戏中使用的流程)。
在两个月的时间里,我们探索了这款软件以及创建植被的各种工作流程。为了尽可能有效地学习这款软件,每一种植物都采用了略有不同的工作流程来创建,使我们能够逐步加深对软件的理解。我们接到的任务是根据特定生物群系创建一个外星岛屿;因此,我的主要灵感来源是我被分配到的生物群系——稀树草原。
我通过针对稀树草原开展技术和视觉两方面的调研来开始我的项目。我不仅在网上进行研究,也查阅书籍或纪录片。我尤其想弄清楚的是,植被在这种环境中如何运作,并识别其特点。要创建可信且真实的环境,理解其运作方式至关重要。以下是我使用的一些参考资料。

研究阶段结束后,我用草图制作了第一版,描绘我希望植物呈现的样子。我的大多数植物与我最初画的草图并不相似,但它们为我想要达成的目标提供了一个起点。
Blockout 与建模
我开始根据自己制作的概念图,在 SpeedTree 中创建最初的粗略模型。在探索软件提供的各种设置时,我对自己的植物进行了试验,挑选出最有潜力的那些并进一步细化。发现所有设置并享受将它们组合起来的乐趣,事实证明这非常令人深受启发。粗模阶段对于规划需要完成的工作,以及尽可能优化纹理和拓扑等方面非常有用。
我在 SpeedTree 中的第一个项目是草,这是最容易创建的元素。我先在 Substance 3D Designer 中创建了草叶纹理,然后将其导入 SpeedTree。接着我根据该纹理对平面进行建模,并把草叶排列成扁平的草丛。在组合了各种草叶包之后,我从中提取出一张纹理,并再次在 SpeedTree 中使用它。我根据草丛纹理重新创建了网格,以生成 3D 组合体。灌木和花朵的制作流程基本也是如此。
对于禾本科植物,流程略有不同。我为植物的各个部分建模,并基于它们创建了用于纹理贴图的贴图;然后我在 SpeedTree 中重新组合了已贴图的元素。
对于体量较大的植物,我结合了之前制作植物时所使用的工作流程。我首先创建了一个粗略的植物版本,以此确定之后制作树木时我需要哪些东西。例如,树干只需要一张可平铺的纹理——大树枝也是如此——但对于较小的树枝,我先做了一张只包含单片叶子的纹理,在 SpeedTree 中把它组装成一根树枝,然后再把它重新组装进我的整张纹理中。
我创建的大多数植物都有一个群组版本,其中同一株植物会出现多次,并带有细微变化。为确保我的植被具有多样性,我应用了程序化变化。这是最难理解的概念之一。这种变化的目的在于能够引入随机性,同时不影响植物的整体视觉外观。在创建我的植物布置时,我使用了 BMS 和格式塔理论,该理论解释了大脑如何感知和组织形状与形态,从而产生更易读、更易识别、更令人印象深刻的结果。


贴图
以下是我在进行贴图工作之前,在 SpeedTree 中创建的几张贴图。这些贴图对于细调我的纹理特别有用;其中一张由各种渐变组成,并被拆分到 RGB 通道中,第二张则是对构成我植物部分的不同元素所做的 RGB 拆分。我还直接从 SpeedTree 获取了法线、不透明度和噪波贴图。


对于这种植物,我的 Designer 节点图是这样的。

这个节点图乍一看相当吓人,但实际上并没有那么复杂。在这个贴图制作过程中,我学会了如何使用一个自定义节点,里面包含我从 SpeedTree 中提取的贴图,也就是我的渐变贴图(上方的第一张贴图),我将它与 RGBA 分离配合使用,逐一提取出所有渐变;我的另一张贴图将各个元素分离到 RGB 通道中(第二张贴图),对于这张贴图,我也使用了 RGBA 分离,以便把植物中的所有元素彼此隔离开来。此外,我还有一张 AO 贴图、一张法线贴图(通过 RGBA 分离从中提取粗糙度)、一张噪波贴图,以及一张不透明度贴图,后者通过一次泛洪填充并接着再进行一次而生成了一张 ID 贴图。
在自定义节点中设置好所有贴图后,我开始处理我的第一组植物。因此,我首先获取我想要制作贴图的植物的遮罩。我先为不同的元素应用基础色,同时使用 BMS 噪波添加明度变化(这基本上就是同一噪波采用不同的平铺方式),并添加一个来自渐变贴图中某个通道的自上而下的渐变,之后我将不同的基础色混合成一张单一贴图。接着,我使用渐变贴图中的某个渐变,为构成植物的每个元素之间添加颜色变化。我还想在外观上再添加一个渐变,因此我用一个径向渐变创建了遮罩,并对其进行了修改,使其贴合我想要影响的区域。最后,我添加了一个高光以及从 SpeedTree 获取的噪波贴图,以增强体积感。结果如下。


最终场景
在组装场景之前,我先创建了岛屿的地形;在研究阶段,我还对地质学做了一些研究。作为入门课程的一部分,我还接触到了 WorldCreator。我通过每次 20 分钟的实验练习创建了许多地形;每一轮我们都必须尝试一个新参数并取得最佳结果。最后我用的却是我做的第一个。之后我在 Substance 3D Designer 中为它制作了四张贴图:一张用于悬崖,一张用于岩石,另外两张用于带有沙子和泥土的地面。

当我的资产和岛屿完成后,我把所有内容都导入到了虚幻引擎中。为了搭建场景,我创建了分组,将不同种类的植物组合成子生物群系。为了在场景中散布它们,我使用了虚幻引擎中的 PCG。我的大多数植物以斑块形式散布,中心是一株大型植物,边缘则是逐渐变小的植物。我还直接在虚幻引擎中更改了一些颜色;这样,我就能让不同种类的植物在其子生物群系中相互匹配。我们还有一个着色器,允许我们在资产之间进行小幅度的色相偏移,从而在不增加噪点的情况下赋予它们多样性。
灯光与渲染
关于灯光,我尝试为我的全部四个子生物群系营造不同的氛围,同时确保它们能与其中的植物所传达的感觉相辅相成。为了实现这样的灯光效果,我有幸得到了 Philémon Caron 的帮助。我使用了 Lumen,采用简单的灯光设置,包括定向光、带有 HDRI 贴图的天空光、一些体积雾、天空大气以及后期处理。在开始打光时,我使用了 Unity 灯光与曝光速查表(Lighting & Exposure Cheat Sheet)中的数值。在后期处理中,我调整了最小和最大 EV,并降低了阴影对比度和 Toe。


我还通过定期将屏幕切换为黑白来调整光照和构图。这让我很容易看出观众的注意力被吸引到哪里。例如在这里,焦点显然是中间的那朵花;把图像转为黑白时,花朵处于光线中,与周围的黑暗以及照射在它们身上的神光(god rays)形成鲜明对比,从而格外突出。


在构图上,我使用简单的构图规则,比如三分法。我只是在场景中浏览,寻找好的镜头。我用 Movie Render Queue 渲染了我的电影镜头和画面,并调整参数以提高渲染质量。我使用了 1.85:1 的宽高比,让我的渲染看起来更有电影感。
结语
由于这个项目是课程作业的一部分,我面临的主要挑战是赶上截止日期、快速吸收大量信息,以及保持高强度的工作节奏。不过,最终完成这个项目让我收获极大,也非常有成就感。这是我第一次承担如此规模的项目,我对最终结果相当满意。如果一定要给刚入门的人一条建议,我会告诉他们:始终努力去理解你想做的效果在现实世界中究竟是如何运作的,这样才能让你的作品尽可能可信;这一点对写实和风格化的作品都适用。
如果你想看更多内容,这里有一段我同学作品的视频:
如果你想看到我更多的作品,可以在 ArtStation 和 LinkedIn 上找到我。
Morgane Muller,环境美术师
采访由 Gloria Levine 进行
相关链接
原文链接:https://80.lv/articles/setting-up-vegetation-for-alien-island-in-3d
喜欢这篇内容吗?