双语-沼泽植被制作解析-Studying Vegetation Production with Ducrocq Hugo
2412 1
发布于 2022-6-13 05:24:37

您需要 登录 才可以下载或查看,没有帐号?注册

本帖最后由 秋令6689 于 2022-6-14 19:53 编辑


Ducrocq Hugo did a breakdown of his Swamp Vegetation project and covered the production of realistic vegetation in Substance Designer, SpeedTree, and Megascans.
About Swamp Vegetation Project
This project came to be as a part of my Game Art studies. Our teacher asked us to create a whole indoors/outdoors scene. Because I had recently played Hunt Showdown and it inspired me a whole lot, I settled on a swamp environment based on what I saw in that game.
My goal with this project was to make it an exercise in foliage, trying to exploit its full potential. During the project, I realized how complex it is to make vegetation look right. This is why I made this small “vegetation scene” apart from my main environment in order to better develop my foliage, understand the way I would need to place it, and how I would keep it coherent and readable in my main scene.
Ducrocq Hugo对他的沼泽植被项目进行了分解,并在Substance Designer,SpeedTree和Megascans中涵盖了逼真的植被的制作。




Hunt Showdown is a PVP/PVE Co-op Game, in which vegetation is ubiquitous. The game takes place in an ominous-looking swamp where foliage can be seen everywhere.
The Hunt Team has managed to create vegetation that is coherent, legible, natural, and that above all serves the gameplay. This is what I wanted to convey in my project: legibility and the language of form through vegetation.
狩猎对决是一款PVP / PVE合作游戏,其中植被无处不在。游戏发生在一个看起来不祥的沼泽中,到处都是树叶。

Setting Up Textures
To achieve realistic vegetation you have to choose how you will obtain your textures, depending on your time, and whether you wish to make your own materials or not. You may simply use vegetation scans such as those you can find on Megascans; this gives you access to high-quality textures and does save a lot of time, but may not be suitable for your needs. You can also use Photoshop (in a rather straightforward way) to create your own texture, or you may choose to use Substance Designer, which offers you the possibility to iterate quickly but takes a lot of time to set up.
I chose to mix techniques: I wished to learn both how to make vegetation with Substance Designer and how to integrate vegetation from Megascans correctly.
要获得逼真的植被,您必须选择如何获得纹理,具体取决于您的时间以及您是否希望制作自己的材料。您可以简单地使用植被扫描,例如您可以在Megascans上找到的那些;这使您可以访问高质量的纹理,并且确实节省了大量时间,但可能不适合您的需求。您还可以使用Photoshop(以相当直接的方式)创建自己的纹理,或者您可以选择使用Substance Designer,它为您提供了快速迭代的可能性,但需要花费大量时间来设置。
To me, one of the most important aspects of vegetation, and how one keeps control over it inside UE4, is the correct use of Shaders. Indeed, the most problematic thing when you mix scans and procedural textures is the gap between the different textures. Thankfully, this can be largely compensated with a proper Master Material.
我选择了混合技术:我希望学习如何使用Substance Designer制作植被,以及如何正确集成Megascans中的植被。
Here is the Master Material for the foliage. There are several parameters that allow adjusting the different passes of the shader, such as its roughness, color, SSS or normal.
这是树叶的主材质。有几个参数允许调整着色器的不同通道,例如其粗糙度、颜色、SSS 或法线。
The shader is not very complex in itself. I use simple scalar parameters and multiply colors to adjust everything.
Whatever engine you are choosing to use, I advise you to switch between Lit and Unlit mode in the viewport, and even go further by checking the Roughness or the Normal. This will give you several perspectives on what you are doing and is the best way to achieve good results.
Visualization allows you to check that everything is uniform and that nothing is too contrasted.
Looking at Megascans, I found plants that suited my needs on many different atlases. To save a lot of texture space, I imported these in SpeedTree and recomposed them into a single atlas. This is a simple technique that allows me to better optimize my workflow and my scene.


I then created some materials and imported the maps from Megascans. Note that I put the desired roughness settings on my specular, disregarding the viewport rendering of SpeedTree. This is so that the maps are exported correctly. Be careful to set all colors white, otherwise, the result will be slightly distorted.
然后,我创建了一些材质,并从Megascans导入了地图。请注意,我将所需的粗糙度设置放在镜面反射上,而忽略了 SpeedTree 的视口渲染。这样可以正确导出地图。小心将所有颜色设置为白色,否则,结果会略微失真。

I then go to the meshes section and edit a new mesh: here the mesh’s polycount doesn’t matter as you will only export textures.


Note: for the branch, I set the skin to "spine only" so that the branch is not visible. For the trunk, you can simply press H to hide the node.
注意:对于树枝,我将皮肤设置为“仅脊柱”,以便树枝不可见。对于主干,您只需按 H 即可隐藏节点。

Then, I set my viewport to the top view to capture my new atlases.

In the viewport parameters, I set the resolution to 4k and displayed the rendering square.


Then I went to the direct settings of the viewport and switched to “opacity mode” in order to have a better view of my atlases. I simpled placed my atlases by selecting my branch and pressing W to move it in the viewport.
Caution! Do not paste the atlases too close to the edges of the textures or too close to each other!

All I had to do now is to create my new atlas. I went to "File" (F10) where I could set the maps that would be exported and their resolutions. I made sure that they were in 4k resolution, and that the maps have no color other than pure white (set as “multiply”), otherwise, it distorts the Megascans maps and rework may be necessary.


Once the atlas is done, I reimported it in Substance Designer and plugged it into a simple generator that I made. It allowed me to blur the padding around the plants, adjust the SSS or roughness, and pack the maps for UE4.
Also, thanks to Substance Designer’s last update, I could use the “Scatter” node which scatters atlases that it recognizes automatically. For example, the ground foliage or the lichen decals on the trunk are made using Megascan atlases that I scattered in Substance Designer thanks to this node. This allowed me to obtain several variations of the same atlas very quickly.
地图集完成后,我在 Substance Designer 中重新导入它,并将其插入到我制作的简单生成器中。它允许我模糊植物周围的填充,调整SSS或粗糙度,并为UE4打包地图。
此外,由于Substance Designer的上次更新,我可以使用“Scatter”节点,该节点可以分散它自动识别的地图集。例如,树干上的地面树叶或地衣贴花是使用Megascan图集制作的,由于这个节点,我将其分散在Substance Designer中。这使我能够非常快速地获得同一地图集的几种变体。

Examples of variations made quickly with Megascan assets and the Scatter node from Substance Designer:
使用Megascan资源和Substance Designer中的Scatter节点快速进行的变化示例:

If you are interested in this, I strongly advise you to go and see the work of Jobye-Kyle Karmaker and particularly his conference on the modular approach to vegetation in video games. He shares his experience and advice which have been very valuable to me!
如果你对此感兴趣,我强烈建议你去看看Jobye-Kyle Karmaker的工作,特别是他关于视频游戏中植被的模块化方法的会议。他分享了他的经验和建议,这对我来说非常有价值!


Moss Shader
To achieve this moss shader, I knew I wanted to use vertex painting in order to always keep precise control over it, rather than create moss that would only go on top of objects. The latter would not have been suitable for this project.
Here is the moss shader. It may not be optimized for the usage in video games at the moment; I wanted to understand how to use a custom shader and make the most out of it for a small scene like this one.

In my moss shader, I used the "HeightLerp" node which allows creating an alpha according to the height of a texture. I then combined it with the "MatLayerBlendStandar" node which allows blending materials according to a given alpha.

I won't detail the whole shader here, because several points are repeated, but the main things to know are that I have a base material and secondary materials: in the base material I input the alpha of the MSK texture and the heightmap in order to use it in my "Height Lerp" node, then I connected one of the vertex colors to the height lerp node. Then, I mixed the two materials.
我不会在这里详细介绍整个着色器,因为有几个点是重复的,但要知道的主要事情是我有一个基础材质和辅助材质:在基础材质中,我输入了MSK纹理的alpha和高度贴图,以便在我的“Height Lerp”节点中使用它,然后将其中一个顶点颜色连接到高度lerp节点。然后,我将两种材料混合在一起。

I repeated this operation 3 times so that I could add moss, change the roughness, and add mud (or other material ), all of this thanks to the 3 vertex color RGB channels.
Then, to make sure the mask is applied more realistically, I added a custom RGB Mask from Substance Designer with a black and white mask in each layer, with 3 different masks: one for foam, one for roughness, and one for mud. I multiplied this mask with the alpha output of the "Height Lerp" node.
然后,为了确保更逼真的应用蒙版,我添加了一个来自Substance Designer的自定义RGB蒙版,每层都有一个黑白蒙版,有3个不同的蒙版:一个用于泡沫,一个用于粗糙度,一个用于泥浆。我将此蒙版与“高度 Lerp”节点的 alpha 输出相乘。

Here is the difference between two blends, with and without a custom mask:

Finally, UE4 has a node called "Fuzzy Shading" which allowed me to create a particular fresnel and create a moss effect on the edges of the texture. I just plugged it into the albedo at the very end. I recommend this node to everyone who wants to make moss in UE4 because it is quite realistic and can be tweaked.

As for the other settings, there's nothing complicated: I went from a simple scalar parameter to a multiply parameter to adjust tiling and contrast. Here are the final shader parameters:

SpeedTree Potential
I discovered SpeedTree a few months ago and immediately saw the potential power of this software in production. I advise you to check out SpeedTree's official youtube channel where several well-made tutorials are listed.
With SpeedTree, you can create trees, of course, but also as I showed earlier, create atlases or recombine them, create small plants, shrubs, bushes, etc. All my plants have been created in SpeedTree:


参与人数 3元素币 +42 活跃度 +24 收起 理由
zfdwd1314 + 20 + 5 我和我的小伙伴们都惊呆了
赵大大 + 13 + 9 资源哪里好,肯定元素找。
Chen23 + 9 + 10 我有两个元素币,一个给你,另一个还是给你。



回复 使用道具 举报 登录

Weidaliya  发表于 2022-6-14 19:15:28  
回复 收起回复
B Color Smilies
还可输入 500 个字符

使用道具 举报 登录

您需要登录后才可以回帖 登录 | 注册



元素大事件!上一条 /1 下一条

快速回复 返回顶部 返回列表