Skip to main content
Participant
July 21, 2023
Question

Maintaining brush strokes when geometry position has changed.

  • July 21, 2023
  • 1 reply
  • 203 views

Hi,

 

The way we are currently working at our studio is we do a lot of our surfacing/lookdev with our assets in their dressed postion, ie. not at world 0. We then want to publish these assets at world 0, with the likelyhood of adding further surfacing updates later on, now with the asset at world 0. Frustratingly as far as I understand Substance stortes all of it's paint strokes in 3d space, unless we paint in the uv viewport then its stored in uv space. 

 

Is there a work around for this as preserve brush strokes tries to reproject back in 3d space, is there the possibility in the future to be able to convert 3d brush strokes into a UV space at any point? 

 

Thanks,

 

Olly

 

This topic has been closed for replies.

1 reply

Cyril Dellenbach
Community Manager
Community Manager
July 24, 2023

Hello Olly,

 

Thanks for your message.

 

You summarized it well, when reimporting a mesh in an existing project, Substance 3D Painter has stored all the strokes made in the 3D view and reprojects them on the new mesh.

 

With that being said, the issue isn't the mesh changing position (as long as you unchecked the "preserve stroke" parameter), but if the project was containing a scene, and only one asset is reimported, the bounding box will be strongly modified, so I'm afraid this won't work properly (or at all).

 

Now, to answer your question, even if we have already talked about copying the strokes made in the 3D view for the 2D view and storing them as well, there's currently no plan on the subject and I can't guarantee there will be.

 

Best regards,

 

Cyril Dellenbach (Micro) | QA Support Artist | Adobe
Participant
July 24, 2023

Hi, 

 

Thanks for your response.

 

Couple things:

 

Firstly are you saying that if the bounding box of my object doesnt change, and i uncheck preserve strokes, the stroke data will be applied to the object if it remains in the same bounding box? Is that bounding box relative to the object or the project (scene)

 

Secondly, what I dont understand, is that when I make a 3d stroke, that is displayed in the UV view, and same for when I paint in the UV view its displayed in the 3d view, so there is some form of conversion going on behind the scenes (I imagine baking into some sort of bitmap). Could that be exposed to the user?

Finally, slightly off topic, my only solution to this is writing our own tool that would bake paint data to an image file and reimport, but currently in the API there doesnt seem to be much support for layer management (mainly getting names of layers) Is there any proposed development for this in the future?

 

Thanks,

 

Olly

Participant
July 24, 2023

For the Python API I should add