Skip to main content
Participant
January 4, 2022
Question

How to import edited mesh with same UV without breaking textures

  • January 4, 2022
  • 4 replies
  • 29965 views

So- I am trying to transfer a texture to another version of the same mesh. The UV map is EXACTLY the same, no edits or anything, it is only the mesh's shape that has been changed... yet, no matter what I do- whether it's importing the other mesh version into the same Substance file, or trying to use a smartmaterial in a new file, the texture ends up completely warped and incorrect.

I need a way to get the textures to match up TO THE UV, not the mesh, because the brush strokes no longer match the same way on the mesh because it has been edited... but since the UV is the same, the textures SHOULD be able to apply to the mesh just fine. Yet for some reason, it always seems to go off of the 3D object instead of the UV when applying the textures. How do I fix this??

4 replies

Participating Frequently
November 14, 2023

Any chance we could see a fix or workaround for this on the 2024 roadmap? Especially since the suggested 'smart material' approach doesn't actually work.

Cyril Dellenbach
Community Manager
Community Manager
November 15, 2023

I should have specify that the "Smart Material" workflow will indeed not work for non "procedural" parts of the Layer Stack. With that being said for all the Layers using Mesh Maps (smart mat, smart masks, etc.) or for simple materials, the result should be pretty close from the initial result.

 

Regarding a rework of the reprojection feature, I can't give (don't have) any info or ETA to share. 

 

Regards,

 

Cyril Dellenbach (Micro) | QA Support Artist | Adobe
Participant
November 16, 2023

Are there any plans to implement additional API capabilities, so that the userbase can write its own solution to this issue? I don't think anyone is particularly picky about how this is solved, as long as the users can avoid redoing countless hours of work, or exporting/reimporting every mask in a texture set, just because there were modifications to the mesh. 

I understand that the official vision for SP doesn't prioritize iterative-based workflows, but the industry requires it, and is using it that way. I have personally spent dozens of hours exporting/reimporting/plugging in masks, when a simple script could have done the same job in seconds. It may currently be working "as intended," but it's unacceptable. 

Participating Frequently
October 26, 2023

I have seen many people post this issue on the community forum and still to this day it hasn't been solved.. I know the software is based on projection what you did in the 3D viewport, if the mesh changes the shape, it will all be messed up. But why make it work if you painted on the 2D view/UV map? Couldn't you just add a feature that when you paint in the 3d viewport, also be painted on the UV map? It's so hard to paint in the 2d mode, but right now, it is the only option to not get texture messed up when updating a new mesh with new shape but the same UV and poly count. We really need an update to this as other software can let you update the mesh with different shapes and the texture would be in the right location for the new mesh.

Cyril Dellenbach
Community Manager
Community Manager
October 26, 2023

As answered on your thread,


Most of the softwares rely on UVs to reproject the textures; we don't. The downside of this workflow is what you mentioned, changing the mesh will alter the textures in most cases.

 

On the other hand, when the mesh hasn't change, it also allows to reproject the textures without a single variation, even if the UVs are nothing alike.

 

Working in the 2D view is the only situation where the reprojection will work with a different mesh, because the 2D view and the 3D view are two different spaces. When painting on the 3D view, Painter will save the strokes and the camera position, but not UV coordinates. Same goes with the 2D view, it will save the UV coordinates, not the strokes and camera.

I know it sounds like both could share the info, but this isn't as easy as it seems.

 

Therefore, there's nothing to solve, because there's no bug or issue, this is simply the reprojection behavior. With that being said, I definitely agree the current situation isn't the best, we don't recommend using an iteration workflow with Painter, and we're exploring solutions, but nothing to share for now.

 

Here's an interesting thread on the subject.

 

Best regards,

 

Cyril Dellenbach (Micro) | QA Support Artist | Adobe
Participating Frequently
October 27, 2023

This is a pretty awful experience, honestly. There is an issue here even if you don't consider it a 'bug'.
You even explain a workaround here:

> If you want to keep your textures according to the UVs, you can still export your textures and reimport it in a new project, but this workaround has obviously many flaws.

 

Yes, it has flaws but it's better than nothing. Why suggest that users export and re-import dozens of textures (terribly tedious! And not exactly elegant in substance) when you could automate it?

Cyril Dellenbach
Community Manager
Community Manager
March 14, 2023

Hello Kayla, hi everyone,

 

I can see there is some confusion about the UV reprojection option in Substance 3D Painter.

 

First of all (to answer you @Kayla22495955g58d), this is unfortunately not possible to reapplied the layers on a reimported mesh based solely on the UVs. To make it simple, Substance 3D Painter currently works by "saving" the brush strokes with the 3D view, and when reimporting a mesh it simply reapplies all the strokes according to the 3D view. It wouldn't be as easy as it seems to make the reimport option works with the UV view, because it would create conflicts with other features.

 

If you want to keep your textures according to the UVs, you can still export your textures and reimport it in a new project, but this workaround has obviously many flaws.

 

For the other issues you may encounter when reimporting a mesh, you can always check our documentation, but I would advise you to make sure the units of the mesh stay the same.

 

If you want to return to a previous model @Brad288522106zw0, you should check your autosaves.

 

I hope this might help with further projects.

 

Best regards,

 

Cyril Dellenbach (Micro) | QA Support Artist | Adobe
Participant
March 14, 2023
Hi Cyril,
I just wanted to clarify, that the mesh and the uv's we;re from an already
finished model, to make a damaged or destroyed version of the model. So I
removed and edited the mesh parts of the model but didn't disturb the uv's.
maybe this might help to understand the issue a little better.
Thanks
Brad

--
Brad Garneau

Sr Game Artist
bgarneau@hitfactor.com
www.hitfactor.com
4231 Balboa Ave, PMB 3024, San Diego, CA 92117
Manolis Poniris
Participant
January 5, 2022

Hello,

 

From what I understand you have gone back and changed your model and want the textures you already made to apply to the new model? 

 

What you have to do is go to edit > Project Configuration > File and select your new model, make sure preserve brush strokes is checked, then bake your mesh maps and you should be done.

 

If you need any help feel free to ask.

 

Manolis

Participant
January 5, 2022

Yes, I want the textures already made to apply to the new, edited model without the textures breaking because the projection is now inaccurate. I want it to apply textures based on the UV, not the mesh's shape.

For example, say I have a general canine model fully textured... it looks like a wolf. I edit the model into a fox, with different proportions, but the same UV. I want to be able to import that new model, or transfer the textures, without the textures breaking due to the new proportions.

From prior experience, it makes no difference whether "preserve brush strokes" is checked or not, the texture always breaks due to trying to re-project onto the 3D model instead of just matching to the UV like it should.

Participant
January 5, 2022

Also, the advice you gave actually doesn't work at all period for this file... it just says "file import failed, reverting to previous version" and nothing changes.