• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit Search

Painter: Option to record 3D Painted strokes in UV space and not in world space

New Here ,
Jul 13, 2021 Jul 13, 2021

Copy link to clipboard


In production the model changes after feedback. The textures need to be updated still. When I import the new model change into Substance Painter, the 3D paint strokes are reprojected at the previous locations of the old model and end up not lining up with the new model change. This breaks any kind of use in production.


SP is built assuming there are no model changes, which is not production friendly. Model changes are common.
We should have the option to set projects to not record brush strokes in 3D space.


Looks like when I paint in the 2D UV window, the re-projection is ignored and the paint there applies correctly to the new imported model. This should be the same behavior with 3D painted strokes also.


SP is currently biased towards a workflow that assumes that the model always stays the same and that only the UVs change. This is the case less than half the times when we import a new model. Most of the time it's actually a model change that warrants the textures being updated. SP needs to be open to allowing both workflows. Let us choose to not have 3D brush strokes recorded in UV space so that texturing work can be reused when the model changes.


I am leaving Substance Painter in the meantime in favor of Mari because of this very reason. In Mari I can import multiple mesh versions and the paint is never re-projected. It's always saved in UV space. If I wanted to transfer work into the same model but it has different UVs, I have options in Mari to transfer entire channels via baking in world space. It's more production friendly.

I hope you guys look into this and take it seriously. I saw this "soft declined" in a previous post. It's crucial for production to get this fixed.


If you do a survey of users you will find that when the model changes in SP, they often export the painted color or painted masks from the old model as texture files and reimport the texture files and reapply them to the proper place in the layer stack and apply the mask data to all the fill layers one at a time after the model changes. This is extremely slow and totally crazy to do if there are paint data like clone brushes, etc.


This should be a process that SP does automatically at least. If you are unable to change the underlying architecture of the software to prevent storing 3D strokes in world space, at least consider this: Create a way to automatically transfer all painted color or painted mask data across differently shaped models via same UV space. This saves all work painted in 3D and uses UV space to preserve it after the model change is imported. It can happen on model swap. When the new updated mesh is imported into the project to replace the old one. Project all paint data via same UVs should be an option. 


Link to the issue on the feedback site> Option to record 3D Painted strokes in UV space and not in world space or auto transfer 3D paint via...
I dont know where else to post this as the feedback page seems abandoned. If anyone from Adobe/Allegorithmic sees this please offer a response to the issue and hopefully a fix. Any users who have this same issue please vote up it up on the feedback site so they can address it. I've been slowly switching to Mari for 3D painting specifically because of this issue and would love to see it addressed.

Also I attatched a comparison video to how Quixel mixer also behaves like Mari by keeping 3D paint strokes in UV space which allow easy model swapping across versions. 



Bugs & Crashes , Import & Export






Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
no replies

Have something to add?

Join the conversation