Author Topic: Painted strokes mess up when switching from one textureset to another  (Read 2339 times)

Hello,

Apologies if this problem has come up before but searching didn't yield any results. I was working happily away on a project with one textureset. Reimporting the .fbx with extra meshes never caused any problems, nor did importing high poly meshes for baking.

Then after a while I decided to add another mesh with a separate textureset to the project. I reimported the .fbx, now containing more meshes all with a different material. Again, there were no problems. After working in that textureset for a while, and with everything from both texturesets displaying correctly, I switched back to the original textureset, and all my painted strokes, such as in masks, moved out of position.

Reimporting the .fbx fixes the displayed painting, but also switches back to the second textureset. As soon as I click the original textureset, the problem comes back.

Am I doing something wrong here, or is this a bug? I feel like I should be able to achieve what I want because the whole mesh, both texturesets, display correctly until I click to start editing the original textureset. Only painted strokes are affected, not images. The UV's have not changed.

Thanks

What you painted in the 3D View will be reprojected based on the 3D Mesh, however what you painted in the 2D View will be reprojected based on the UVs. So if the UV have moved, you will notice to differences. Also check that your meshes don't have any strange scaling values in their properties, that could have an impact on how the mesh is read and then imported.
Don't forget your log file. It can be exported from the Help menu of the software.
-----------
Fabrice Piquet aka Froyok. Product Manager, Technical Artist and Documentation at Adobe.

Thanks for the response. There are no changes in the UV's. If there were, the image maps and masks would change. There are also no scaling inconsistencies. I think the fact that everything displays correctly when the .fbx is freshly imported, and only breaks when I switch to the first textureset, suggests a bug in the software.

Texture sets are only computed when you switch to them, until you do that it will display the cached version of the layer stack. That's why when you reimport you don't see the change immediately, you have to go over the texture set for the reprojection to happen.

I can look into your project if you want, but I will also need your meshes (original and updated version).
Don't forget your log file. It can be exported from the Help menu of the software.
-----------
Fabrice Piquet aka Froyok. Product Manager, Technical Artist and Documentation at Adobe.

I'm afraid I can't really provide the meshes. But from what you say it seems it must be something I've done. Can you tell me of anything other than UV changes that would cause painted strokes to move? For instance painted stitching will move a few cm in one direction, or will all accumulate on random points of the model.

The computation for the reprojection is based on the bounding box of the object which we normalize. If you have new object, by default we don't normalize it anymore (see the checkbox below the import button in your project settings). To be sure that nothing nasty will happen it's best to avoid any remaining translation, rotation, or scale values. 3DSMax or Blender have a tendency to keep some values inside the FBX file even when you think you cleaned them. You could also try another file format such as OBJ.
Don't forget your log file. It can be exported from the Help menu of the software.
-----------
Fabrice Piquet aka Froyok. Product Manager, Technical Artist and Documentation at Adobe.

OK that makes sense. Is it safe to say you can't reliably add objects to your .fbx once you've started working then? Presumably adding the mesh for the second textureset threw the bounding box off.

The checkbox about preserving stroke positions didn't seem to help, but is it designed for situations like this?

Thanks for your help

Quote
Is it safe to say you can't reliably add objects to your .fbx once you've started working then?
On the contrary, you can add new objects later in your FBX. If you keep the checkbox enabled it will try to preserve the brush stroke positions while taking into account the new bounding box created by additional objects. However this computation can be altered because of remaining translation, rotation, scale values in your objects. That's why I'm suggesting OBJ instead (which doesn't have this issue).

Quote
The checkbox about preserving stroke positions didn't seem to help, but is it designed for situations like this?
Yep ! That's why it's enabled by default.


If it still doesn't work for you, you can export the textures and them import everything into a new project and put your textures in fill layers. It's destructive, but at least you will be able to work with your new mesh.
Don't forget your log file. It can be exported from the Help menu of the software.
-----------
Fabrice Piquet aka Froyok. Product Manager, Technical Artist and Documentation at Adobe.

Well I tried again to fix this last night and it stays broken. No UV or transforms have been changed, the only difference is new meshes in the .fbx. From now on I will use obj's instead of fbx's!

For what it's worth, when I went through the process again of adding a new mesh with a new textureset to my .fbx, I noticed that the checkbox for preserving strokes is greyed out. I can't enable that until the original textureset is already broken.

The checkbox stays disabled until you load a mesh in the window (because it will be taken into at this moment only).
Don't forget your log file. It can be exported from the Help menu of the software.
-----------
Fabrice Piquet aka Froyok. Product Manager, Technical Artist and Documentation at Adobe.