A Solution Consultant at Adobe Substance 3D Cino Lai discussed the Stylized Parametrized Forest project, talked about parametric assets, and explained the nuances of Substance Designer's procedural modeling workflow.
Introduction
Hello, I'm Cino from Shenzhen, China. I'm currently working in Adobe's Substance team. I am a Substance Solution Consultant.
Games are my favorite and best field. As a 3D Designer, I have accumulated 10 years of game development experience, from PC games to mobile game development. I started studying Substance Designer in-depth in 2019. By that time, PBR became common in the game development process. With the continuous improvement of visual effects and quality, it has brought greater 3D asset production quantity, higher asset quality, longer production cycle, etc. The nonlinear workflow of Substance Designer can not only meet the quality and effect in terms of texturing but also effectively solve the problems of the incidental development cycle, labor cost, and so on. The process of refining perceptual artistic expression into quantifiable expression deeply attracted me. I was very lucky. At that time, there were many excellent cases and learning materials from SD experts in the industry, which helped me quickly understand and learn about Substance Designer. Now, it has become a part of my life.
New Procedural Modeling
Before, there was no procedural modeling tool, I have been trying to break through the limitations of 2D design with SD. From my previous cases, you can see that I am so eager for the current procedural modeling function. I am very happy that it has been realized! This makes me very excited!
100% parametric texture:
There is no doubt that the introduction of the new procedural modeling function, combined with the previously mature procedural texture function, makes the whole 3D design process more flexible and efficient. For example, parametric materials have formed a huge asset library, which can help the 3D design needs of many industries and carry out rapid design iterations. Now with parametric modeling, in the future, the 3D asset library will not be limited to textures but will cover the whole 3D asset design process.
Different kinds of trees come from a parametric asset:
Case Objectives
Nowadays, game worlds are becoming larger and larger. The huge maps bring a huge amount of assets. I hope to help the project build a 3D asset library with SD, and quickly generate all the resources required for the project with a small number of designers and a small number of parametric assets. As a general asset, trees are indispensable to almost all games, so I quickly decided to class content and make goals.
Workflow
First of all, the overall time was greatly shortened. I spent less than two weeks on the whole process. There is no doubt that the assets generated at present are only a small part, and the expansion of subsequent assets is infinite, and I can modify and adjust them at any time according to needs.
In this process, you spend more time thinking and planning. We can see that the number of nodes is very small. You can quickly learn and master the functions of nodes, and do it in one day. During this time, I spend almost 60% of my time thinking every day, then make it, verify it after making it, stop and continue thinking. This is a very interesting process. There is almost no repetitive work, and new challenges and surprises every day.
This is a preliminary plan I made before I started. I tried my best to meet the differentiation in shape and color and selected several trees that can cover these needs. In the future, they can make more changes in their free combination. The subsequent node framework construction is based on this idea.
How to Create a Parameterized Tree in Substance Designer
First, share several node functions separately. They are one of the important components of Designer and the main node combination of this case.
Core node combination of trunk
I chose the Curve node as the basis for making the model because curves are needed in many subsequent places to locate the following of other objects. Now the node combination is used as the basis for making trunk and branches.
In order to enrich the changes of the tree, I segmented the tree. Each segment can be controlled separately. Finally, they are connected in series. The SubDivision Topol Scattering node is used as a bridge between them. Its main working principle and complete node combination are as follows.
Core node combination of branches
The production logic of branches is exactly the same as that of the trunk. I used a two-stage structure to make branches and avoid rigid modeling.
Use the Filter Scene node to extract the curve separately, use the Scatter on Curves node to generate the prepared branches on the curve of the trunk, and use the Jitter Instances node to create a sense of randomness.
The last layer is merged into the trunk layer by layer to get the trunk full of branches. We can see the various shapes it can change into.
Leaves
Because it is a game case, I chose the patch model with texture. The texture will be introduced later. Let's first look at the model processing method of leaves. We mainly use the Array Duplication node and select the circular mode to make the leaves diverge from the central point. The number of faces can be well-controlled according to the project requirements. If the number of faces needs to be small, You can increase the number of leaves on the map, which is a very free adjustment method.
Finally, I used two layers of Array Duplication nodes to deal with the subsequent plants that need to enrich the leaf hierarchy
Like the logic of combining branches with trunks, spread the prepared leaf groups to the branches with Scatter on Curves nodes.
If smaller branches need to be grown on the branches, use the prepared branches with leaves to conduct a Scatter on Curves following the upper branches.
Finally, all leaves and trunks are merged together. Test and check whether the parameter adjustment is correct.
Parametric texture
I have made three kinds of parameterized textures of tree trunks, which are convenient to combine with different leaves in the future and use the Multi-Switch node to switch the selection.
Four choices are made for the texture of leaves. The Shape Splatter is used for a single shape. The purpose of using this node is to obtain the position information of each leaf to make some differences in leaf color.
When the model and texture are finished, you can start to adjust the parameters, try different combinations, and get ready to create your forest.
Unreal Setup
The theme of this time is trees. The construction of the scene mainly focuses on the characteristics of various trees. It is simply divided into three areas, cliff, lake, and forest. I hope to show differentiation as much as possible and make people feel, "Wow, is this all one tree?"
I'm glad that the basic effect of Unreal surprised me very much. The lighting is also relatively simple, almost by default. I turned off the auto-exposure function, and the overall atmosphere is enhanced by Exponential Height Fog. I also activated the Volume Fog option.
Some effect displays completed:
About Parametric Workflow
The new Substance Designer procedural modeling workflow gave me many surprises. It perfectly combines with SD's procedural textures, allowing me to complete this case alone in 1.5 weeks, which was unimaginable before. It will be widely used in the scene. Of course, it can't be omnipotent. Some customized and special assets still need to be made separately, but it makes me think more about the future working mode. Whether realistic or stylized, many universal asset libraries will greatly shorten the production cycle of project assets and make team cooperation more efficient.
The parametric modeling function of Designer has just been launched. At present, I have only played a small part in its role. How many possibilities and wonderful parametric works are there in the future? We look forward to creating them together!
Cino Lai, Solution Consultant at Adobe Substance 3D
Interview conducted by Arti Sergeev
Keep reading
You may find these articles interesting