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
  • 30034 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 30, 2023

Sorry if it sounded like I wanted to argue about the word "issue". I emphasized on this because I wanted to be clear that there's nothing to fix. The feature currently works as intended and was presented as such. Therefore, it is not prioritized the same way as a bug. 

 

Substance 3D Painter has strict limitations regarding the reprojection, which isn't a secret. I don't want people to based their projects on iterations, without being well aware of the software limitations. 

 

Another workaround to prevent reimporting your maps would simply be to make a Smart Material out of the entire Layer Stack and apply it on your newly imported model.

 

Thanks for the feedback.

 


I've used a smart material approach to this situation before and it actually doesn't solve this problem. For example, parts of a mask that were hand painted in the 3D view still reproject incorrectly onto a changed mesh, so you might as well just re-import the FBX. It serves as a way to package things up but it doesn't help with the 'same UVs, different shape in the FBX' problem.

> Substance 3D Painter has strict limitations regarding the reprojection, which isn't a secret. I don't want people to based their projects on iterations, without being well aware of the software limitations. 

To be candid, projects are necessarily iterative in development. These limitations are not a secret insofar as they're documented in the links you've provided. But I'm not convinced it's something folks are well aware of, unfortunately. Not only is it a somewhat complicated thing to explain, we see it show up over and over: you have linked this good breakdown from 2021 from someone explaining why they no longer find Substance fits their needs: https://community.adobe.com/t5/substance-3d-painter-discussions/painter-option-to-record-3d-painted-strokes-in-uv-space-and-not-in-world-space/td-p/12175763 and this thread is over a year old. People are continually surprised by this. I very much appreciate the honesty in these responses but I think 'Substance doesn't have a good solution if you want to adjust the shape of your model and continue to update your textures' would give a lot of folks pause before clicking 'buy' if they saw it in a features list.

What I don't understand here is if folks are bringing this up repeatedly as a problem and we agree that it makes Substance a worse fit for an iterative workflow, and an imperfect but suitable workaround exists that could be automated, why isn't at least an implementation of a workaround on the product roadmap? "We'd like to explore some solutions but don't have anything planned in the near future" is essentially a polite phrasing of "never". Do I just vastly overestimate the extent of how many people encounter this problem?

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.