ZBrushCentral

FBX mesh reimported into another program, rotated on 2 axes

Hi there, I have posted in Reality Capture forums but am wondering if there might be a way to approach this from the Zbrush side - & I know there are some Reality Capture workflow users here.

The issue:
I exported an FBX mesh from Reality Capture which I worked with in Zbrush without changing the transform at all. When I went to reimport back into Reality Capture to re-project the textures, the reimported FBX was flipped through 90degrees on two axes.

I tested that I hadn’t altered the transform in Zbrush by accident by running a test; exporting the same mesh from RC, exporting from Zbrush without doing anything to it , and then reimporting back to RC, & once again two axes were flipped.

  • The mesh is sitting in the same folder & with the same name as the .RCinfo file from the original export of RC which is apparently important for getting them lined up
  • I ran the test with an obj workflow & it doesn’t suffer the same issue - the re-imported obj in RC maintains the same coordinates.

Anyone have any tips for getting my FBX back into RC with the correct co-ordinates ? I have tried altering the Zbrush export settings different ways (MayaYup, MayaZup, FBX2019 vs FBX2020 etc but to no avail so far).

As this seems like a simple rotation through 90 degrees on two axes, I should be able to correct that in Zbrush prior to export? I tried this but it seems like the rotation is occurring around a different point as it doesn’t line up once I take it back into Reality Capture.

Another thing I thought of would be to import the obj into my current scene (which I know occupies the correct coordinates) & somehow try to snap my current mesh to the imported obj?

Next time I can use obj from the start, but I’ve done weeks of work on the current mesh as an FBX already which I can’t afford to lose. Any advice would be awesome.

Don’t use FBX myself but do recall reading about an issue with the FBX plugin. If you used the plugin for FBX import/export then see here

If OBJ import/export works for you then you could always use Projection to get the details from your current mesh to the OBj import.

hth

Thanks. I tried

  • updating to the newest Zbrush version
  • exporting using the inbuilt Zbrush Export option rather than the FBX plugin

but I still get the model rotated on two axes as previously.

If OBJ import/export works for you then you could always use Projection to get the details from your current mesh to the OBj import.

Yes I was thinking of using the obj somehow.

If I import the obj into my current project, is there a way to try and snap the existing cleaned up mesh to the obj import? This would actually fix the issue anyway as then it would have the correct coordinates in theory.

Thanks for the help.

Hello @arumiat

Worldspace is reckoned differently between different programs. Try adjusting the import and export options in Preferences > Import/Export to match your specific scenario.

I apologize if I’m misunderstanding.

Thanks @Spyndel. I have tried many different variations of export options to no avail so far unfortunately.

I am wondering whether, if I import into Zbrush as a new subtool the obj version of the exported mesh from RC, I would be able to somehow snap my cleaned up mesh to the obj mesh coordinates in Zbrush? Ie for them to end up having identical transforms in Zbrush

I misspoke in any event. The Preferences> Import/export settings do not apply to FBX.

I would look closely at the import settings or preferences in your target program to see what it is doing.

Since the cleaned up mesh and the original mesh will be different according to how much change happened with clean up they can never both occupy exactly the same space. However near enough might be good enough and will certainly be so if you want to Project details from one to the other.

I’m not aware of a push button method to snap the mesh center of two subtools to the same location but you can do it manually. To reposition the cleaned mesh to the center of an imported OBJ take a note of the boundng box center coordinates of the OBJ in Tool:Geometry:Position. Then switch to your cleaned up mesh and enter those values for it’s coordinates. Bounding box centers will now match.

If one model is rotated relative to the other then it’s more work. Find two features on each model that are common, say top to bottom, bump to bump, vertex to vertex (Gizmo snaps to verts which can be convenient), whatever. Something to help you identify them as being oriented in the same way. In the OBJ mesh activate the Gizmo and ALT click and drag from one feature to the other. The Y-axis will align in that direction. At this stage you can also ALT-drag rotations of the X and/or Z axes to point the coordinate system even more precisely if you want. Either way, then click the Reset Mesh Orientation icon. Now the OBJ will move and Y will be up. Do the same with the cleaned mesh. Now both will be oriented with identical features pointing up (and in X and/or Z if you rotated them as well). Then do the mesh center alignment. Often that is sufficient. If not then simple rotations on the other orthogonal axes will get the match closer.

Hope I’ve understood what you want to do. Hope this helps. Have fun.