- Substance 3D home
- Home
- Getting Started
- Getting Started overview
- Activation and licenses
- System requirements
- Project creation
- Export
- Export overview
- Export window
- Output templates
- Export overview
- Glossary
- Performance
- Getting Started overview
- Interface
- Assets
- Substance 3D Assets
- Color picker
- Display settings
- History
- Layer stack
- Main menu
- Project configuration
- Properties
- Settings
- Shader settings
- Texture Set
- Toolbars
- Viewport
- Miscellaneous
- Assets
- Painting
- Painting overview
- Tool list
- Straight line
- Lazy mouse
- Symmetry
- Fill projections
- Presets
- Presets overview
- Creating and saving presets
- Creating particles presets
- Photoshop brush presets (ABR)
- Dynamic strokes
- Advanced channel painting
- Vector graphic (.svg & .ai)
- Text resource
- Effects
- Baking
- Content
- Creating custom effects
- Importing assets
- Creating custom effects
- Features
- Automatic resource update
- Automatic UV Unwrapping
- Physical size
- Smart Materials and Masks
- Subsurface Scattering
- Dynamic Material Layering
- UV Reprojection
- UV Tiles
- Color Management
- Post Processing
- Iray Renderer
- Plugins
- Sparse Virtual Textures
- Custom Shaders
- SpaceMouse® by 3Dconnexion
- Universal Scene Description (USD)
- Send to
- Technical Support
- Performance Guidelines
- Configuring Pens and Tablets
- Exporting the log file
- Exporting a DXDiag
- Technical issues
- GPU Issues
- Crash when working with overclocked GPU
- Forcing the external GPU on Mac OS
- GPU drivers compatibility
- GPU drivers crash with long computations (TDR crash)
- GPU has outdated drivers
- GPU is not recognized
- GPU is not recognized and is mentionned as GDI Generic
- Issues with Nvidia GPUs on recent Mac OS versions
- Multi/Bi-GPU
- Running on integrated GPU
- Painter doesn't start on the right GPU
- Startup Issues
- Rendering Issues
- Stability Issues
- Miscellaneous Issues
- GPU Issues
- Workflow Issues
- Export Issues
- Tools Issues
- Project Issues
- Library Issues
- Viewport Issues
- Plugins Issues
- License Issues
- Pipeline and integration
- Installation and preferences
- Configuration
- Resource management
- Scripting and development
- Scripts and plugins
- Shader API Reference
- Shader API overview
- Changelog - Shader API
- Libraries - Shader API
- Lib Alpha - Shader API
- Lib Bayer - Shader API
- Lib Defines - Shader API
- Lib Emissive - Shader API
- Lib Env - Shader API
- Lib Normal - Shader API
- Lib PBR - Shader API
- Lib PBR Aniso - Shader API
- Lib Pom - Shader API
- Lib Random - Shader API
- Lib Sampler - Shader API
- Lib Sparse - Shader API
- Lib SSS - Shader API
- Lib Utils - Shader API
- Lib Vectors - Shader API
- Parameters - Shader API
- Shaders - Shader API
- Release notes
- Release notes overview
- All Changes
- Version 11.0
- Version 10.1
- Version 10.0
- Old versions
- Version 9.1
- Version 9.0
- Version 8.3
- Version 8.2
- Version 8.1
- Version 7.4
- Version 7.3
- Version 7.2
- Version 2021.1 (7.1.0)
- Version 2020.2 (6.2.0)
- Version 2020.1 (6.1.0)
- Version 2019.3
- Version 2019.2
- Version 2019.1
- Version 2018.3
- Version 2018.2
- Version 2018.1
- Version 2017.4
- Version 2017.3
- Version 2017.2
- Version 2017.1
- Version 2.6
- Version 2.5
- Version 2.4
- Version 2.3
- Version 2.2
Mesh and UV setup
Taking a few minutes to prepare your mesh for Painter can make the texturing process faster and easier.
There is no specific benchmark for polycount that Painter can handle, as it largely depends on machine specifications, Texture Set assignment, and layer stack properties, but under 10 million polys should be handled fine if the layer stack optimizations (see above) are taken into account.
There is such a thing as too low poly. This is because the texture engine uses the Polygons to know which part of the mesh should be rendered to compute the brush strokes. Meshes with a very low Polycount can be fully re-rendered even with tiny brush strokes which can overwork the GPU unnecessarily.
For example, if texturing a single quad plane, it is better to subdivide the mesh, especially when hand painting with a lot of strokes, as information is spread over more vertices.
It is best to split larger meshes with more complex material assignments into several Texture Sets. Texture sets allow you to assign different settings per Texture Set, like resolution and shader properties. For example, if only a part of the mesh uses translucency or SSS, it is best to assign another Texture Set and a different shader instance to that part. That way, these more complex properties don't have to be calculated where they are not used.
Try to keep UV islands which are neighbors in 3D space close together. This applies both to UDIM layout and classic UV space layout. If they have shared paint strokes or texturing, it is easier to calculate them when they are huddled in the same area of the UV space, rather than if they are at opposing ends.
The texture engine works by dividing a texture/channel into smaller chunks to speed up computation. However, this optimization has no effect if painting on a mesh in the 3D view results in changes across the entirety of the texture.
Performance should remain comfortable when importing a mesh that has fewer than 8000 sub-objects. Going over this limit can impact the viewport and painting performance. If this limit is reached, we recommended merging objects together to reduce the rendering overhead.