Texturing the mesh in Substance 3D Painter: Difference between revisions

From KSP 2 Modding Wiki
No edit summary
No edit summary
 
Line 3: Line 3:
  [[Modeling the mesh in Blender]]
  [[Modeling the mesh in Blender]]


== General texturing ==
== Setup ==


# Open a new project
# Create a '''New Project'''.
## Select 4K textures
## Select the <code>Kerbal_Space_Program_2_Parts_Paintable</code> template.
## Select the <code>Kerbal_Space_Program_2_Parts_Paintable</code> template.
## Import the FBX
## Select your part model's '''FBX''' file.
# Find the <code>KSP2_Part</code> Smart Material and apply it to the mesh.
## Choose a '''Document Resolution''', for small parts 2048 should be enough but for anything larger 4096 is recommended.
# For some reason doing this will bring in some stuff already on the Edges layer that applies to the Heightmap (thus the orange bar under it). You should clear the black mask on Edges to get rid of those. Just right click on the black mask and select Clear Mask.
## Press '''OK''' to create your project.
# You can drop any materials (smart or otherwise) into the Base Material folder inside the KSP2_Part folder. These are what you use for most details, with the exceptions being some things you'll do on Nails, or Edges, or Emissivity. Since applying the KSP2 smart material to the whole thing includes applying a KSP2 Steel material without a mask inside the Base Material folder, everything will start out as a shiny steel. I leave this as the last layer in that stack to catch anything I don't otherwise paint, and put other painting layers above it with masks.
# Make sure the UV map looks ok in Substance Painter, if you spot any errors, overlapping faces, etc... You need to go back to UV unwrapping in [[Modeling the mesh in Blender]].
# For paint map, just open up the PaintMap folder and apply whatever strength you need to the black masks for Base and Accent. This works just like painting on any other black mask. Mostly, you'll just apply full strength to indicate (yes, please apply the player's base or accent paint color here). Using anything less would result in the player's attempt to paint the part being diluted. You need to paint Base everywhere you want any color (accent or base), and then also paint Accent where you want the accent paint to be applied. If there is no base paint somewhere, then whatever you paint in Substance Painter will be what the player gets and they can't change it.
# Import any 3rd party resources you might want to use, you can do so by following the steps in [[Configuring Substance Painter]].


== General texturing tips ==
# Find the <code>KSP2_Part</code> '''Smart Material''' and apply it to the mesh. You can delete the default layer.
# Locate the '''Bake''' button (looks like a croissant) in the upper right of Substance Painter and click it.
## '''Uncheck''' the option to make an '''Opacity Mesh Map'''.
## Click the large blue '''Back Selected Textures''' button.
## When baking is done, click the '''Return to Painting Mode''' button.
# Expand the folder by the <code>KSP2_Part</code> smart material in the '''Layers''' panel and the <code>Base Material</code> smart material within.
# Some stuff might already be on the Edges layer that applies to the Heightmap (thus the orange bar under it). You should clear the black mask on Edges to get rid of those. Just right click on the black mask and select Clear Mask.
=== Simple material ===
You can drop any materials (smart or otherwise) into the Base Material folder inside the KSP2_Part folder. These are what you use for most details, with the exceptions being some things you'll do on Nails, or Edges, or Emissivity. Since applying the KSP2 smart material to the whole thing includes applying a KSP2 Steel material without a mask inside the Base Material folder, everything will start out as a shiny steel. Leave this as the last layer in that stack to catch anything not otherwise painted, and put other painting layers above it with masks.
Example ''"white boron nitride ceramic"'':
# Click the Add Fill Layer button (paint can) ''<INSERT GRAPHIC HERE>''.
# Drag the new fill layer onto the Base Material folder.
# In the Propertied panel under Materials, leave only color, roughness, and metal selected.
# In the Properties panel set the base color to what you need (white in this case).
# Set the metallic slider to 1.0.
# Set the roughness slider to 0.3.
# Add a black mask to the fill layer.
# Paint like a pro.
=== Paint map ===
For paint map, just open up the PaintMap folder and apply whatever strength you need to the black masks for Base and Accent.
This works just like painting on any other black mask. Mostly, you'll just apply full strength to indicate (yes, please apply the player's base or accent paint color here). Using anything less would result in the player's attempt to paint the part being diluted. You need to paint Base everywhere you want any color (accent or base), and then also paint Accent where you want the accent paint to be applied.
If there is no base paint somewhere, then whatever you paint in Substance Painter will be what the player gets and they can't change it.
  Did you know?
  Did you know?
   
   
Line 20: Line 48:
  Substance 3D Painter converts Roughness to Glossiness automatically. The export template uses the Glossiness channel.
  Substance 3D Painter converts Roughness to Glossiness automatically. The export template uses the Glossiness channel.


== Creating gradients ==
=== Creating gradients ===
 
# You must bake at some point before this, and your bake must include Position as we'll need that. If you've already baked your model in SP, you don't need to do it again.
# You must bake at some point before this, and your bake must include Position as we'll need that. If you've already baked your model in SP, you don't need to do it again.
# Starting with an Emissive layer (you can have more than one if you need more than one color - just duplicate and customize), paint at full strength (1.0) on the black mask everywhere you want the gradient to be.
# Starting with an Emissive layer (you can have more than one if you need more than one color - just duplicate and customize), paint at full strength (1.0) on the black mask everywhere you want the gradient to be.
Line 31: Line 58:
# ''Most Important!'' Set the generator to apply as <code>Multiply</code> (it will default to <code>Normal</code>). This is the part where the work done on Step 2 will help you as it will then correctly constrain where the gradient is applied.
# ''Most Important!'' Set the generator to apply as <code>Multiply</code> (it will default to <code>Normal</code>). This is the part where the work done on Step 2 will help you as it will then correctly constrain where the gradient is applied.
# When you're all done, you can set your display to <code>Mask</code> so you can see how the gradient will be applied to whatever color you set for your Emissive. BTW, there's nothing magical or special about the name for the layer. If you chance it to <code>Engine Glow</code> or <code>Emissive 1</code> or whatever it will still add to the emissive <code>*_e.png</code> texture as that is how the Emissive layer was setup when you applied the KSP2 Smart Material.
# When you're all done, you can set your display to <code>Mask</code> so you can see how the gradient will be applied to whatever color you set for your Emissive. BTW, there's nothing magical or special about the name for the layer. If you chance it to <code>Engine Glow</code> or <code>Emissive 1</code> or whatever it will still add to the emissive <code>*_e.png</code> texture as that is how the Emissive layer was setup when you applied the KSP2 Smart Material.
=== Nails ===
This is where you add various surface details via the height map, and works for painting on nuts, bolts, fasteners, etc. All of these can be added as “alphas” like this:
# Import your alpha(s)!
# In Layers, select the black mask for Nails in the Heightmap.
# Select Radial Symmetry (for applications around radially symmetric parts like I've got here).
# Set your X, Y, Z point about which things will be symmetric, where Y is the vertical. (Switch the Show/Hide Manipulator on to help see where this point is in your model).
# Set Mirror Y, the count you want, and the angular span the radial pattern should follow (360 for all the way around).
# With the brush tool active, select your alpha.
# Move your cursor onto the part and see the red dots where the "Nails" will be placed.
# Adjust the size of the "Nail" using [ and ] to make it smaller or larger respectively.
# Click where you want the first "Nail" to appear, this will place them all.
=== Stickers ===
This is where you add signs, stickers, decals, etc., where the sticker has a uniform color (like a radiation symbol, etc.).
# Import your alpha(s)!
# In Layers, under Base Material, add a fill layer for the sticker.
## Uncheck all material properties for the layer except color, metal, and rough.
## Set the fill color to be what you want the sticker to look like.
## Move the layer to be above any other Base Material layer that impacts the part(s) you’re going to apply stickers to (or it will be overwritten and you won’t see your stickers!)
# Select Radial Symmetry (for applications around radially symmetric parts like I've got here).
# Set your X, Y, Z point about which things will be symmetric, where Y is the vertical. (Switch the Show/Hide Manipulator on to help see where this point is in your model).
# Set Mirror Y, the count you want, and the angular span the radial pattern should follow (360 for all the way around).
# With the brush tool active, select your alpha.
# Move your cursor onto the part and see the red dots where the "Stickers" will be placed.
# Adjust the size of the "Sticker" using [ and ] to make it smaller or larger respectively.
# Click where you want the first "Sticker" to appear, this will place them all.


== Exporting the textures ==
== Exporting the textures ==
Line 37: Line 93:
# Select the <code>Kerbal_Space_program_2_Parts_Paintable</code> output template.
# Select the <code>Kerbal_Space_program_2_Parts_Paintable</code> output template.


Useful links
== Useful links ==
Substance 3D Painter tutorial: https://www.youtube.com/watch?v=_j27AS0VQOw
 
Free materials: https://substance3d.adobe.com/community-assets/
* Substance 3D Painter tutorial: https://www.youtube.com/watch?v=_j27AS0VQOw
Paid materials: https://www.artstation.com/
* Free materials: https://substance3d.adobe.com/community-assets/
Lux's notes on Paint Map: https://luxstice.notion.site/How-to-create-a-paintmap-texture-59c51441f4d048a5803c0b2b108cd041
* Paid materials: https://www.artstation.com/
* Lux's notes on Paint Map: https://luxstice.notion.site/How-to-create-a-paintmap-texture-59c51441f4d048a5803c0b2b108cd041
[[Category:Parts and modules]]
[[Category:Parts and modules]]

Latest revision as of 23:50, 23 February 2024

Prerequisites
Configuring Substance Painter
Modeling the mesh in Blender

Setup

  1. Create a New Project.
    1. Select the Kerbal_Space_Program_2_Parts_Paintable template.
    2. Select your part model's FBX file.
    3. Choose a Document Resolution, for small parts 2048 should be enough but for anything larger 4096 is recommended.
    4. Press OK to create your project.
  2. Make sure the UV map looks ok in Substance Painter, if you spot any errors, overlapping faces, etc... You need to go back to UV unwrapping in Modeling the mesh in Blender.
  3. Import any 3rd party resources you might want to use, you can do so by following the steps in Configuring Substance Painter.

General texturing tips

  1. Find the KSP2_Part Smart Material and apply it to the mesh. You can delete the default layer.
  2. Locate the Bake button (looks like a croissant) in the upper right of Substance Painter and click it.
    1. Uncheck the option to make an Opacity Mesh Map.
    2. Click the large blue Back Selected Textures button.
    3. When baking is done, click the Return to Painting Mode button.
  3. Expand the folder by the KSP2_Part smart material in the Layers panel and the Base Material smart material within.
  4. Some stuff might already be on the Edges layer that applies to the Heightmap (thus the orange bar under it). You should clear the black mask on Edges to get rid of those. Just right click on the black mask and select Clear Mask.

Simple material

You can drop any materials (smart or otherwise) into the Base Material folder inside the KSP2_Part folder. These are what you use for most details, with the exceptions being some things you'll do on Nails, or Edges, or Emissivity. Since applying the KSP2 smart material to the whole thing includes applying a KSP2 Steel material without a mask inside the Base Material folder, everything will start out as a shiny steel. Leave this as the last layer in that stack to catch anything not otherwise painted, and put other painting layers above it with masks. Example "white boron nitride ceramic":

  1. Click the Add Fill Layer button (paint can) <INSERT GRAPHIC HERE>.
  2. Drag the new fill layer onto the Base Material folder.
  3. In the Propertied panel under Materials, leave only color, roughness, and metal selected.
  4. In the Properties panel set the base color to what you need (white in this case).
  5. Set the metallic slider to 1.0.
  6. Set the roughness slider to 0.3.
  7. Add a black mask to the fill layer.
  8. Paint like a pro.

Paint map

For paint map, just open up the PaintMap folder and apply whatever strength you need to the black masks for Base and Accent.

This works just like painting on any other black mask. Mostly, you'll just apply full strength to indicate (yes, please apply the player's base or accent paint color here). Using anything less would result in the player's attempt to paint the part being diluted. You need to paint Base everywhere you want any color (accent or base), and then also paint Accent where you want the accent paint to be applied.

If there is no base paint somewhere, then whatever you paint in Substance Painter will be what the player gets and they can't change it.

Did you know?

The height channel induces a real deformation of the mesh (works well with a lot of polygons) while the normal channel is a bumb map.

Substance 3D Painter converts Roughness to Glossiness automatically. The export template uses the Glossiness channel.

Creating gradients

  1. You must bake at some point before this, and your bake must include Position as we'll need that. If you've already baked your model in SP, you don't need to do it again.
  2. Starting with an Emissive layer (you can have more than one if you need more than one color - just duplicate and customize), paint at full strength (1.0) on the black mask everywhere you want the gradient to be.
  3. Right Click the black mask and pick the add generator option.
  4. Click on the resulting Generator (no generator selected) button, and pick the second option from the left for 3D Linear Gradient.
  5. The Image inputs should default to Position, so just switch your display from Material or whatever to Position and orient your part so you can see the point where you want the 0 for the gradient to be like this (the display picker is in the upper right corner of the panel with your 3D view).
  6. Take the eye dropper from the 3D Position End and click on the place you want the End to be. This assumes that the Start is already where you want one endpoint of the gradiant to be, as it is in the view above. If you oriented your model so that the End is already where you want it, then use the other eye dropper and set the start. The objective is that you've got the Position mapped colors pinning down the range across which you want the gradient to go. Don't worry if Start and End are reversed from what you want because...
  7. Set Invert to be True if the gradient is going the wrong way! (as it is in the example above).
  8. Most Important! Set the generator to apply as Multiply (it will default to Normal). This is the part where the work done on Step 2 will help you as it will then correctly constrain where the gradient is applied.
  9. When you're all done, you can set your display to Mask so you can see how the gradient will be applied to whatever color you set for your Emissive. BTW, there's nothing magical or special about the name for the layer. If you chance it to Engine Glow or Emissive 1 or whatever it will still add to the emissive *_e.png texture as that is how the Emissive layer was setup when you applied the KSP2 Smart Material.

Nails

This is where you add various surface details via the height map, and works for painting on nuts, bolts, fasteners, etc. All of these can be added as “alphas” like this:

  1. Import your alpha(s)!
  2. In Layers, select the black mask for Nails in the Heightmap.
  3. Select Radial Symmetry (for applications around radially symmetric parts like I've got here).
  4. Set your X, Y, Z point about which things will be symmetric, where Y is the vertical. (Switch the Show/Hide Manipulator on to help see where this point is in your model).
  5. Set Mirror Y, the count you want, and the angular span the radial pattern should follow (360 for all the way around).
  6. With the brush tool active, select your alpha.
  7. Move your cursor onto the part and see the red dots where the "Nails" will be placed.
  8. Adjust the size of the "Nail" using [ and ] to make it smaller or larger respectively.
  9. Click where you want the first "Nail" to appear, this will place them all.

Stickers

This is where you add signs, stickers, decals, etc., where the sticker has a uniform color (like a radiation symbol, etc.).

  1. Import your alpha(s)!
  2. In Layers, under Base Material, add a fill layer for the sticker.
    1. Uncheck all material properties for the layer except color, metal, and rough.
    2. Set the fill color to be what you want the sticker to look like.
    3. Move the layer to be above any other Base Material layer that impacts the part(s) you’re going to apply stickers to (or it will be overwritten and you won’t see your stickers!)
  3. Select Radial Symmetry (for applications around radially symmetric parts like I've got here).
  4. Set your X, Y, Z point about which things will be symmetric, where Y is the vertical. (Switch the Show/Hide Manipulator on to help see where this point is in your model).
  5. Set Mirror Y, the count you want, and the angular span the radial pattern should follow (360 for all the way around).
  6. With the brush tool active, select your alpha.
  7. Move your cursor onto the part and see the red dots where the "Stickers" will be placed.
  8. Adjust the size of the "Sticker" using [ and ] to make it smaller or larger respectively.
  9. Click where you want the first "Sticker" to appear, this will place them all.

Exporting the textures

  1. Press Ctrl+Shift+E to open the export window.
  2. Select the Kerbal_Space_program_2_Parts_Paintable output template.

Useful links