Artist Alexandre Rodrigue shares his Assisted Creation workflow with Unity ArtEngine, and how it can speed up material authoring workflows tenfold.
In case you missed it
You may find these articles interesting
Hi, my name is Alexandre Rodrigue, I’m currently working at Ubisoft MTL as a Lead Material Artist on the Far Cry brand. I have worked on projects such as Assassin’s Creed, Far Cry 4, 5, and Far Cry New Dawn. Most recently, I worked on Far Cry 6, which was incredibly challenging in terms of massive content creation.
Before joining Ubisoft Montreal, I worked at studios such as EA and Bioware, as a 3D Artist, Lead Shader Artist, and Texture Artist. The work I’m most proud of is probably Far Cry 5 because of the visual realism we reach on a current-gen console. Not only is the visual astonishing, but also the technical performance of the game.
The Gaming industry is thrilling to work in because of the many challenges and the constant evolution of technologies we face. There is always a great satisfaction to see thousands and even millions of players playing our game in which we have put a lot of effort. It is very rewarding.
My workflows have always involved procedural and scans, and I’m constantly looking for new and innovative tools to help my workflow and speed up the repetitive and time-consuming tasks that can take lots of my production time.
Below is a quick workflow of ArtEngine that hopefully helps other artists understand how it can help them speed up their workflows and create more with less.
Intro
Here is how I work the majority of my scan bakes in Unity ArtEngine software. This workflow is intended for terrain textures but can be used for other contexts as well.
Importing Sources
First I import all my bake images in the ArtEngine library. After that, I create a material with all my inputs.
As you can see, my scan does not fill all the canva. Often it is difficult or even impossible to be able to capture everything to the desired dimension. Also, thanks to ArtEngine, it allows me to do scans faster and worry less about filling everything out.
Seam Removal
I start my process by applying the Seam Removal node.
This node allows us to choose the dimension we want the tiling to apply.
Mask Paint
I then use the Mask Paint node to tell ArtEngine to apply data from my scan in the white spaces.
Result
Finally, after compilation, here is the result. It is very impressive how AI works and quickly allows us to have a high-quality result.
Mutation variations
I use the Mutation node when I want to have several proposed element orientations. This node is extremely powerful and allows you to create an almost endless variety of the same scan.
There are several properties that are exposed to us. We just have to play around with it to find our perfect combination. For my part, playing with the random seed allows me to have good results quickly.
Here are 4 Mutation variations:
Content-Aware Node
This node allows you to remove elements from our scan. For this exercise, I will remove some leaves from the scan.
Delighting
There are several algorithms out there for delighting an image. ArtEngine delighting is very impressive! Here is how I use it. First, I use the Albedo Generation node.
I then use Levels to calibrate the brightness of the image.
The way I use the Albedo Generation means that I still have ambient occlusion on my image and quite obvious traces of black. So to remove the AO and other traces of shadow, I use the Color to Mask node and I plug the Diffuse in the input. This node allows me to isolate the colors and create a mask.
For this scan, Region 1 was sufficient.
The gray color is the part that I managed to isolate.
I can then blend with the mask Region 1 and add color or another part of my scan to fill the mask.
For this example, I am using a color.
Here is the result. I can always go back if I'm not happy with it.
Roughness
Creating roughness is interpretive in my opinion. We can judge whether our object will be reflective or not.
But I like to start with a base and ArtEngine allows us to do that with Roughness / Gloss Generation node.
Some parameters allow us to play with values.
After a few tweaks, here is the result.
To have better control, I use the Color Transfer node. It allows me to isolate the elements of my Roughness, I plug my Diffuse, not the Albedo into the Color Transfer node Source.
I can then create as desired the colors that will allow me to isolate the elements of my scan with which I want to obtain control of the Roughness values.
Add colors to get more control choices.
As easy as that, I can now work with the values without affecting the rest of my elements.
I can now export my textures and finalize them with the software of my choice.
Many choices are available to us in the export properties.
And voila, here are the final results!
Alexandre Rodrigue, Lead Material Artist
Keep reading
You may find these articles interesting