Lord Hayden's Activity
Lord Hayden added a topic in TutorialsSubstance Painter for SkyrimI'll be adding images into the post later. Tutorial is still WIP, has not been proofread yet.
This is going to be a cross post for the Allegorithmic blog post. This assumes you know the basics of high/low poly modelling and baking, as well as UVing your models.
Stage 1 - Preparing Your Project
I generally start off my projects off using a Metal/Roughness preset and loading in the mesh. For many of my models, depending on their complexity, I will skip the sculpting stage of the high poly workflow, and instead opt to paint in finer details instead. This is what I did for the Yoku Greatsword below, so I'll be taking you through those processes.
After creating a project and loading in my model, the primary steps are to get the project prepared for texturing. This includes getting all the baked maps I need for the texture, as well as getting my project prepared and split into different groups. The only bakes I worry about getting at this stage are the Normal and ID maps, as they will be used to create my folder structure, as well as give me a base normal map to paint my height details on to. I bake all of my maps using mesh naming in Substance, as it's my preferred method.
Here is the ID map I got out of Substance, as well as the layer groups I have prepared for the project. As you can see, I have used the ID map to mask out color selections for each of the groups.
Stage 2 - Editing the Height Map
Once I have my normal and IDs baked out, I make sure to create a Height layer within my project that can be added to the Normal Map, then used as a base for further bakes. What I do is I create a fill layer in each layer group (as you can see they are split up into Blade, Iron, Copper and Leather). This fill layer I change to effect only the height map. From here, I add a Paint effect onto my Fill layer and I paint in some height details, such as large scratches, that I want to be apparent in my texture. Keep in mind that this step is only for the larger details, and the smaller microdetails that will be added in the normal map will be added later on.
Once my height details are painted onto the height layer, we can see their effect by swapping to the Normal + Height + Base Normal layer and seeing how strong all of our painted normals are. I generally have to play around with the height strength and blending properties to get a good look, so be sure to go back and make some changes. Below you can see the end result of my painted height details compared to the original baked normal.
For the next step, I export out my normal map from Substance Painter, before loading it back into my Shelf. Once it is in my shelf, I swap out my previously baked normal map, and replace it with the one that has the added custom details. Now that I have my new 'base' normal map in, I can go back into the Substance baker and bake out my AO and Curvature maps that will be used for the texturing process. By exporting then reimporting the normal maps, this ensures that the AO and Curvature bakes take into account the large scratches and details I just painted in.
Stage 3 - Texturing
Now that we have all the bakes we will need for our textures, we can start by going into each of our groups (which we have previously split up into materials and masked via color selection using our ID) and adding in some base material layers. The base materials I choose for each group usually resemble whatever real life material the object might be made out of, although sometimes it can be useful to look at some other materials that might be useful for providing a base for your textures. Substance Share has a great selection of materials to browse through, and I make use of a lot of them. Once I've applied all my base materials to my model, I swap to the Base Color channel view in Substance Painter using the C key, that way I can get a good look of what the texture will actually look like in-game as opposed to what it looks like in PBR. When texturing for non-PBR engines, I do 95% of my texturing in the Base Color view.
As you can see, the base color doesn't look too fantastic when it doesn't have the other maps included, which is why we need to do a lot of manual painting over the top to get our desired outcome. The first thing I want to add into my texture is the lighting, which I create by using a combination of the AO and Curvature maps. I create a fill layer on top of each of the base materials, changing the settings to only effect the Base Color layer, and load in the AO map, changing the blend type to Multiply. I usually bump down the opacity to anywhere between 15% - 45%, however some areas require a bit more AO than others (this is also why I blend these textures on in each material group as opposed to the entire model, as it gives me more flexibility).
Once the AO is added onto the base color, I do the same thing with the curvature, creating a new Fill layer, changing it to apply to only the base color, loading in the curvature map texture, and then changing the blend settings as well. For the curvature layer, I use the Overlay blend type with an opacity of 5% - 50%, once again, these opacities change depending on my needs.
After the AO and Curvature is blended, we start to get a better idea of what the texture is going to look like. From here you can play around with the texturing a bit more to add those extra details in. What I do is add in fill layers (set to Overlay) between the AO/Curvature and the base material layers. I add a layer mask and apply a Paint effect, as well as other generators to the mask to add in details such as dirt, fine scratches, and other effects. Below you can see the original base color texture as it gets combined with the AO/Curvature and grunge layers. The reason I use a mask to paint on my layers is to have better control over the layers when it comes to the other texture maps such as Roughness and Metal.
Stage 4 - Roughness/Metallic = Specular/Cubemaps
Once my base color texture is done, I swap over to the roughness channel and start building that up using the same layers I used for painting on the grunge. The Roughness map is what I use as a Specular map for non-PBR engines. Once again, I start at the bottom of my layer group, at the base material, and adjust the roughness properties in the material itself to get a good base to work off. What I do then is I work my way up the layer stack I have from the base color, simply by enabling the roughness channel on the layers and adjusting the values of the fill layer (I make sure not to add any extra generators or effects as this will also effect my base color channel). This ensures my Roughness (or in this case Specular) adheres to the base color layer, while at the same time allows me to create specular variation that is dependent on my base color.
Stage 5 - More Height
Using the very same process I just used to create my Roughness (Specular) texture, I go back through my layer stack and enable the height channel on a select few layers and adjust the height value of that particular layer. This is what is used to create those finer normal details on the weapon that aren't created from your fill layers. I generally swap to the Normal + Height + Base Normal channel for this step to see what my normal map will look like at the end and adjust the settings accordingly.
Depending on the part of the asset, I sometimes also create a new layer in the group specifically for painting on small height details that I might not have gotten from the base material normals.
Step 6 - Export
Once I am happy with all my layers, I export out my maps and check to see how they look in the game engine I'm creating for. I then jump back in to Substance and make any subtle changes I might like. Due to the ease of texturing within Substance Painter, it is no problem to go in and change a height value for some grunge, which would take much longer if you were texturing the object traditionally in Photoshop. I continue to make changes until I'm satisfied with the end result.
For converting textures in Substance Designer, a very similar process can be used, by blending the AO, curvature as well as using some other nodes, to create something more like that we need. For this process, I have created a rather simple node which I use for converting the PBR texture to a more traditional style. The node itself required 3 inputs, a Height, Normal, and Base Color. From there, it is simply a process of blending the AO, Curvature and Shadows into the Base Color to attain the result.
To create the Curvature, the Normal Input from the PBR texture is plugged into a Curvature Smooth node, and then blended on top of the Base Color.
For the AO, the Height is plugged into an Ambient Occlusion node, and is also blended on top of the Base Color.
A few extra touches which I like to add for variety include also plugging the Height into a Shadows node and blending that over the top too. I also sometimes like to add a bit of the heightmap to the Base color, so the Height input goes into an Auto Levels node before being blended over the Base color ever so slightly.
Below is an example of the basic node setup. I expose some parameters and adjust them as I need per texture, as all of them usually require some tweaking to get the required look, particularly the blend opacity and the Shadows parameters.
I've also attached examples of the default PBR Base Color texture compared to the converted Base Color after passing through the node. (The original Substances are packaged with Substance Designer)
- 0 replies
- 81 views
Lord Hayden added a topic in 3D and 2D Art[Student Thread] Jan1ssary - Lord HaydenAlright, so today's focus is going to be getting your model and getting it ready to go into a game engine. This will require us optimizing the mesh so it's as efficient as possible in-game, as well as adding in some geometry for vertex painting and improving the shading.
Because this tutorial is mainly covering the technicalities of getting your model/s in-game, I won't be going into detail about how to do certain things, they're going to be assumed knowledge. I will tell you what we will want to achieve and the reasoning behind it. Because you already know your way around a 3D modelling program, I'll be showing you examples from the program I am most comfortable in (Blender), but the steps will be very similar.
For the tutorial I will be showing you how to optimize one part of your model. You can go in to 3DS Max and follow along with the tutorial, and then go through the rest of the model and do the rest yourself. I'm going to be walking you through the top part of the temple, circled here:
First of all, we need to look at how much geometry we have at the moment, and how we are going to cut it down before adding in our loops and bevels. One of the first things we will want to do is clean up the geometry and remove a lot of the faces that the player will never be able to see (things like the inside walls and bottoms of the boxes) We also want to make sure we're using as little faces as possible. What I did in the below image was I duplicated the mesh and optimized the geometry in a way so that it's more efficient for the game. I also removed all the inside faces that the player will never be able to see, also reducing the geometry.
The next step we will want to do is go in and start beveling the hard edges. In the Creation Engine (Skyrim), hard edges can stand out quite a bit when they're on an outside edge (like the corners of the walls) so we bevel them so give them a smoother edge. You can see below an image of the geometry before I beveled it.
These were the edges I decided to bevel to make them smoother:
And this is what the mesh looked like after beveling:
Even in the modelling program, you can see that beveling those sharp edges can really improve the model without adding in too many extra faces. I also edited some more geometry to optimize it for the game, particularly the two tetrahedrons you had on the top of the temple:
Above is the before photo and below is the after cleanup photo. What I did was I deleted the inside vertices and faces (that the player cannot see) and then merged the outside ones so it's all a part of the same mesh and connected:
And then I beveled this to improve the way it will look in-game, and then added a smoothing group to it, to achieve this result:
I think this is a good place to end the first lesson. If you have any questions please feel free to ask, I'm happy to help out. There's going to be a bit of cleaning up required over the rest of the model, particularly removing the inside faces of the model (the ones the player can't see). Posting some WIP images as you go along would be great to see how you're cleaning up the geometry, and it'll also mean we can pick up on any other errors that might pop up.
- 2 replies
- 246 views