Substance Painter 1.0
Substance Painter 1.0
Substance Painter 1.0
2
2
2
3
4
4
5
5
6
7
7
8
8
8
9
10
10
11
13
14
16
16
17
17
17
17
18
18
18
19
25
Substance Painter
Getting Started
Project
Configuration
Preferences
Beta
Feedback &
Bug Report
Export
Channels
Interface
Toolbar
Viewer
Texture Set
Layer Stack
Shelf
Document
Settings
Viewer
Settings
Post Effects
Tools
Paint
Projection
Geometry
Decal
Quick
Masking
Features
Height Map
Painting
UV
Reprojection
Getting Started
Project Configuration
Preferences
Beta Feedback & Bug Report
Export Channels
Project Configuration
All the project settings, even the document resolution and the mesh, can be changed later on by going to Edit->Project Configuration.
Preferences
You can access the Preferences in the menu Substance Painter->Preferences.
The preferences are split in 2 panels: General & Shortcuts:
General
Shortcuts
General
Display Options
Language: Choose the language of Substance Painter. Please note that you need to restart Substance Painter to take it into account.
Show keyboard helper: Displays some keyboard helper at the bottom left of the painting view.
Show world axis: Show world axis in the painting view.
Background color: Choose the background color of the painting view.
Only display the selected material when painting: This option is useful for multi-material meshes. If checked, only the material which is being
painted on is displayed, hiding the other materials. When you stop painting, all the materials become visible again.
Camera options
Rotation speed: Set the rotation speed of the camera
Zoom speed: Set the zoom speed of the camera
Wheel speed: Set the wheel speed of the mouse
Privacy
Uncheck it if you don't want any data to be sent to Allegorithmic regarding the use of Substance Painter.
All those data are sent anonymously.
Shortcuts
You can view/modify all the Shortcuts in the Preferences Panel.
Export Channels
You can export bitmaps for each of the channels you are painting on.
To export a channel, Go to File->Export all channels.
You can as well right click in the Viewer and chose "Export All Channels".
Interface
The interface of Substance Painter is divided in several panels, that you can reorder, resize, display and hide:
Viewer: This is the main panel, where you can paint on your assets.
Library: You can find in the Library all your presets. You can organize the library as you wish by editing, creating and deleting presets.
Shelf: The shelfs stores and displays all your resources. Those resources can be used for your presets.
Tool: The tool panel shows you the properties of the tool currently selected.
Document Settings: Those are the settings of the document.
Viewer Settings: Those are the settings of the 3D Viewer.
Layers: This is your layers stack.
Toolbar
There are 5 kind of tools available in Substance Painter:
Brush
Eraser
Stencil
Selection
Physical Brush
Viewer
The 3D View allows you to visualize your mesh and paint on it.
You can enable/disable the 3D view in the toolbar with the following icons:
By default the 3D view uses a PBR shader which is based on the metallic/roughness workflow.
The 3D View can be manipulated using the usual Maya shortcuts by default, but they can be changed in the Preferences.
The 3D View settings can be modified in the Viewer Settings window.
2D View
Substance Painter allows you to seamlessly paint in the 2D View.
Controls
Use the mouse wheel to zoom in/out
Press Alt + Mouse Left to rotate the view
Press F to center the view
Alignment
You can choose to paint on UV, on Tangent or according to the Camera view thanks to the parameter Alignment in the Brush.
Controls
Action
Windows
Mac OSX
Rotate Camera
Snap Camera
Translate Camera
Zoom
Zoom in
Z + Left Click
Z + Left Click
Zoom out
Z + Right Click
Z + Right Click
Texture Set
The Texture Sets pane shows all the material IDs of your assets. Those material IDs need to be created during the mesh creation.
Please note:
It is not possible to paint seamlessly on 2 texture sets.
It is not possible to duplicate/copy a layer from a texture set to another texture set.
By default, only the texture set which is being selected is displayed when you are painting on. You can change it in the Preferences by
unchecking "Only display the material selected when painting".
Layer Stack
The Layer Stack lets you manage your layers. On the contrary to other tools, each layer is multi-channels.
This means the multi-channel brushes will paint on all of their respective channels, no matter which channel you are currently viewing
in the Layer Stack.
Each Layer has its own Blending mode and Opacity for each of its channel. You can change the channel you are editing through the top
left combo box.
The Layer Stack in Substance Painter features Standard Layers (use the + and - buttons to add and delete them) but there are also 2 other types
of Layers:
The Effect Layers allows you to load a substance material or effect through the Layer Properties window. You can add an effect layer
with this button:
The Fill Layers allows you to load an image to fill the layer. You can add a Fill Layer with this button:
Masks
You can add a mask to a Layer or a folder through a Right Click.
A click on the mask thumbnail will highlight it and switch to mask editing.
A click on the layer thumbnail will go back to the layer's content edition.
Painting on an Effect Layer will paint on the mask input of the substance.
Substance Effects
The substance effects allows you to create effects directly on a layer.
See the Substance Effects part to learn how to create them with Substance Designer.
Shelf
The Shelf lets you manage all the assets used in your project. It is split in 3 parts:
The resource pane, letting you import and manage your own resources
The brush pane
The material pane
Choose File->Clean to delete resources from the Resource part which are not used on the project.
If you wish to create new assets for this part, change the parameters in the Tools panel and right-click -> Save tool / brush.
Document Settings
The Document Settings window is where you set parameters for the whole current material.
You can change the resolution of your document in the panel.
Additionnal Maps
Import the mesh maps that you are going to use to texture your asset.
You can bake those maps in Substance Designer
Viewer Settings
The viewer Settings window allows you to configure the rendering in the viewport.
Mode: Choose between Material (Shortcut M), Solo mode (Shortcut C + C again to cycle through the channels) and Mesh Normal
mode.
Tool Opacity: Changes the opacity of the tool preview under your cursor when painting
Stencil Opacity: Changes the opacity of the stencil overlay
Material Mode
Shader: choose which shader to use.
You can add custom shaders by drag&dropping them in Documents / Substance Painter / Shader.
Please note that you would need to create custom materials. By default the materials provided in Substance Painter are made for PBR
metallic/roughness workflow.
Environment map: choose which environment map to use
Environment Opacity: the opacity of the environment
Environment Exposure: the exposure of the environment
Solo Mode
Channel: Chooses the channel displayed in the 3D view
Unlit: Choose to lit or unlit your mesh.
Scale: When visualizing a HDR map, controls the exposure (see Height Map Painting for more
details)
+/- colors Height maps can have both negative and positive values, this mode allows you to see both
with different colors (see Height Map Painting for more details).
Custom tweaks
Those are the custom parameters of the shaders.
Post Effects
Substance Painter uses the middleware Yebis from Sillicon Studio to offer advanced post effects.
Go to View->Post Effects to display the post effect window.
Post Effects
Check "Activate Post Effects" to enable post effects on your scene.
You can set a wide range of parameters for your post effects:
Antialiasing
Color Correction
Depth of Field
Tone Mapping
Glare
Vignette
Lens Distortion
Tools
Painting tools are accessible directly via the toolbar:
Paint
Eraser
Projection
Geometry Decals
Each tool can be used in normal mode, or in Physical mode. Click on the tool to chose which one to use.
Physical mode allows each tools to be used with physical particles.
Tools Panel
When a tool is selected, its properties are displayed in the Tools panel:
There can be different kind of properties, depending on the tool: brush properties, stencil properties, material properties, etc.
Each properties can be displayed in 3 mode:
Collapsed: the properties are not displayed
Basic: only the most useful properties are displayed
Advanced: all the properties are displayed
You can switch the properties modes by clicking on the properties name.
Brush Preview
This is a real time preview of your brush. It will update when you change parameters.
It shows in real time a preview of your channels. If you click on a thumb you will be brought directly to the corresponding parameters.
Paint
Paint Tool can be used either in normal mode or in Physical Paint, allowing to paint with particles.
The painting tool allows you to paint on several channels at once.
Projection
The Projection tool makes a projection of the texture on the mesh, as a stencil. It can be used in normal mode or in Physical mode.
Controls
You can control the stencil pattern with the following shortcuts when holding the S key
Controls
Shortcut
Rotation
Scale
Pan
The stencil opacity of the viewer can be changed in the viewer settings.
Geometry Decal
You can chose the Selection / Fill tool with this icon:
Choosing the Selection tool displays the wireframe of the mesh.
When you are not in Quick Masking (shortcut: T) mode, clicking on a polygon will fill it with the color displayed in the tool panel.
When in Quick Masking mode, clicking on a polygon will fill it with a quick mask.
Quick Masking
Quick masking allows you to mask parts of your mesh you don't want to paint on. It works in a similar way as the masking in ZBrush.
Features
Height Map Painting
UV Reprojection
Height Visualization
When visualizing the Height map in Solo mode, the default preview will only show positive values, with strong black saturation for negative values.
The +/- color setting allow to visualize the full range using a differetn color for the positive and negative values.
The Scale setting allows to modify the visible range of that HDR map in case you've added or subtracted more than the default [-1,1] range.
UV Reprojection
UV Reprojection is an automatic process.
If you load a new mesh in your document, all your actions will be reprojected on that new mesh. It doesn't matter if the topology or UVs have
changed.
Reprojection can take a while and there is no modal progress bar yet. You can check the temporary red bar at the bottom right off the app to
see if the reprojection is still ongoing.
Viewport setup
How to import your own mesh
Copy-paste your mesh in the Meshes folder of your Pack. Then in the Editor open your mesh and click on Build.
Now, in your particle system, go to Backdrop in the treeview, right-click on 3D Layers, New Backdrop, CNEdEditorBackdrop_Model3D, and
select your mesh in resource model.
In Substance Painter, the Mesh is scaled to be inside a box of size [-1;1] on each Axis. To get the right scale with Substance Painter in the Editor,
you should either import a mesh which is already scaled to fits in that box (easy way), or play with Scales in the Editor.
Note: only FBX mesh format are supported.
Emitter
How to create OnCollide events
The Physics Evolver handles collision with backdrop meshes in the scene. In Substance Painter the scene will be your mesh.
First in the Physics Evolver set WorldInteractionMode to OneWay to enable particle collision. Then create an event called OnCollide, the
Physics Evolver will trigger it on collision with the scene.
In Substance Painter, the scene is the model you are working on, and all events called OnCollide will be overridden by the Emitter particle
system of the current brush.
Receiver
How to spawn the Emitter while creating/editing a Receiver
To get even closer to the Substance Painter workflow while editing your Receiver, you can setup the Editor to override the particle system
spawned.
In the treeview of your Receiver, select Editor Properties, then enable UserOverSpawn and select your emitter in OverSpawnEffect.
You still must open your Emitter to set the OnCollide events to spawn the Receiver you are currently editing.
Here is the description of the particles field you must have in your Receiver:
Size float
The multiplicator of the brush size in Substance Painter.
Opacity float
The multiplicator of the brush opacity in Substance Painter.
UV float3
The texture coordinate on the mesh of particles.
In a Evolver Script, sample your Shape Sampler Mesh with the parametric coordinate given by the Projection Evolver:
UV = Mesh.sampleTexcoord(pCoords);
Normal float3
The normal of the mesh surface beneath particles.
In a Evolver Script, sample the Shape Sampler Mesh with the parametric coordinate given by the Projection Evolver:
Normal = normalize(Mesh.sampleNormal(pCoords));
Seed int
Just a randomly generated value for Substance Painter:
In a Evolver Script add:
Seed = int(rand(0,20000000));
pCoords int3
Not used by Substance Painter, but indispensable to do the particle projection on the mesh and sample other fields.
To sample things in a Script, just write Mesh.sample~Something~(pCoords) in a Script, here is the documentation:
http://www.popcornfx.com/wiki/index.php/CParticleSamplerShape#Script_bindings
Some useful code snippets you will need:
// UV is the texture coordinate of the particle on the mesh
// Must be after CParticleEvolver_Projection
UV = Mesh.sampleTexcoord(pCoords);
// Normal is the Normal of the surface on the mesh just below the particle
// Must be after CParticleEvolver_Projection
Normal = normalize(Mesh.sampleNormal(pCoords));
Global tips
How to import Emitter/Receiver in Substance Painter
In Substance Painter, do File > Import particles or Ctrl-Alt-R then choose your Emitter.pkfx or Receiver.pkfx in you Pack.
Substance Painter will automatically detect requirements (particle fields, OnCollide events) to decide if your pkfx is either an Emitter, Receiver or
nothing compatible.
Now, you should see your Emitter/Receivers in the Shelf.
float
float3
meshnormal = Normal;
float4
rawtangent = Mesh.sampleTangent(pCoords);
float3
float3
float3
float3
In the Physics Evolver of your layer, set VelocityFieldSampler to your Turbulence Sampler name, and set Drag to a value > 0.
The parameterized way
You adjust turbulences with attributes by sampling the velocity field generated by your Turbulence Sampler in a Evolver Script:
Create 2 Particle Attributes:
float TurbulencePower minmax: [0;5]
float TurbulenceScale minmax: [0.001; 5] (needs to be > 0)
Then create 3 Particle Fields:
float TurbPower and float TurbScale
To store attribute in them in the Spawner Script:
TurbScale = 1.0 / TurbulenceScale;
TurbPower = TurbulencePower;
float3 VelocityField in rotate mode
It will be used as the VelocityField in the Physics Evolver (already set by default to the field VelocityField).
So before your Physics Evolver, in a Script Evolver, sample your Turbulence Sampler called Turb:
VelocityField = Turb.sample(Position * TurbScale) * TurbPower;
PostEval()
{
// we need to initialize correctly the values needed by Substance Painter:
pCoords = Mesh.projectParametricCoords(Position);
UV = Mesh.sampleTexcoord(pCoords);
Normal = normalize(Mesh.sampleNormal(pCoords));
}
Popcorn fx setup
Launch PopcornFX Editor, create a new project, then open it.
In your project, right-click on an empty area and select Import Popcorn Package. Then choose Templates_EmitterReceiver.pkkg.
Now, you should have:
- A particle system _Emitter which is a base template of an Emitter.
- A particle system _Receiver which is a base template of a Receiver.
- A sphere mesh used as the default backdrop of the scene
_Emitter and _Receiver are already Substance Painter ready. They have already been configured with the necessary evolvers, fields,
backdrops etc
Emitter/Receiver editing
We will duplicate existing particles systems and adapt them to correctly take the new mesh into account.
Right-click on the particle system _Emitter (in the Particles folder), and select Clone (or Duplicate) to create your own Emitter.
Open it and, in the Particle Treeview window (bottom left), select Layer_Model which should be located in : Editor Properties => Backdrop =>
3D Layers.
Once its done, there is one last thing to do: we need to link the emitter and the receiver with the one we have just created.
In the treeview of your Receiver, select Editor Properties, then select your emitter in OverSpawnEffect. Save the receiver.
Open your emitter (the one we previously duplicated) and in the Particle Treeview window, click on Events which should be located in :
Particle Effect => Spawner. Then replace the receiver by your receiver by clicking on Extern.
Its done! Now if you select the 3D view (of your emitter or receiver), you can create particles by pressing space button.
Then, in the Tool window, in Physics youll have the possibility to select your emitter (to
replace default_emitter) and your receiver (to replace default_receiver).
You can now right click in the Tool window and save the
tool.