ZBrushCentral

HELP Zbrush Scene Position unexpectedly changed

Hello , i think zbrush is kinda messing around with me :frowning:

I was working on a project to make human anatomy model and this part was the mouth part. everythings were working normally until i realized some issue happened after i imported the model i sculpted in zbrush to Maya.

So to avoid some confusion i attached an image and i ll try my best to explain the situation!

  • First of all I have a model of mouth interior which as you can see on the image its on polyframe mode.
    there are actually 2 models of mouth interior( one is the one that i just imported from maya and the other is on subdivide mode ready to be sculpted) on the 1st screenshot if you see carefuly the models are overlapping each other, because on this state both are on the correct position. (see the Zposition on the red box)

  • 2nd screencapture the polyframe model is at the same position (see z position) but the model that i imported from maya moved forward , i noticed this issue by appending the initial mouth interior model to the scene in the middle of the work.

  • 3rd screencapture is to show that the initial mouth interior model i just appended showing a different value of zposition in zbrush which is really odd

  • 4th screencapture what made me even frustrated is that the low poly model of mouth interior that i sculpted on zbrush is being on the wrong position once i imported it to maya despite the correct zposition in zbrush, WHILE the initial model which zposition value changed suddenly being on the correct position in maya scene.

I was wondering if i accidentaly did move the model in zbrush but its imposible since the other subtools are sepparated such as jaw bone, teeth gums ETC and stay at the same position. if it was an accident then i wouldn’t be able to move all subtools one by one intentionaly.

have you guys experienced any of this? and how did u solve the issue. many Thanks

Hello @reechardd ,

I don’t know anything about your import/export process–what functions you are using, what format you are using, or the import/export settings in both programs. However, the most common cause of scale or offset shifts in ZBrush when working between two programs is improper procedure.

I have just replied to a similar issue, so forgive me for pasting that reply here:



Much of this depends on exactly how you are importing and exporting. For instance GoZ plays by different rules than manual import/export.

However, if you are importing and exporting in the traditional manner, then the offset position of your mesh in the external application is probably the actual position of the mesh.

When you import a mesh into ZBrush when either no 3d tool is actively selected, or when a tool (like the default polymesh3d star) with zero values in the Tool> Export menu is actively selected, a mesh will be auto scaled and auto centered to work in ZBrush, similar to the Deformation> Unify function. If this did not happen, the mesh may be difficult or impossible to work with in ZBrush.

The values required to restore the mesh to the exact same size and position are recorded in that menu, and the mesh will be exported at the same original size and offset. So it is possible that your mesh always had that position, but ZBrush simply corrected it for the purpose of working in ZB.



Where problems arise is when a Tool with non-zero values in that menu is selected when importing. Each tool has its own unique settings here, and if it is active when another mesh is imported, the incoming mesh will replace that mesh and inherit those settings, possibly resulting in scale/position shifts.

The same values required to scale one mesh to optimal size in ZBrush and center it do not work for other meshes, unless it is a different version of the same mesh at the exact same size and position. If you export a mesh with the settings from another mesh, it will not export back at the correct size/offset. However, if you then re-import that altered mesh into ZBrush, it may appear to be the same size/position, because ZBrush is again going auto-scale and center it.

So always be sure to select the default polymesh3d star as an import target when importing a mesh to make sure you are zeroed out, and then append it to another tool if required. The exception to this would be if you are deliberately trying to replace or update a mesh with a different version of the same mesh that will be using the same scale/offset settings, for instance if you were importing a mesh to update your UVs, or restoring the original base form of a mesh prior to creating/exporting texture maps.

Hope this helps to figure out what’s going on! :slightly_smiling_face:

1 Like

Reviving an old thread here, but I’m having issues with this. Again. Based on what you’ve said @Spyndel, does this mean it’s recommended to always import/export back and forth with an OBJ format? OBJs only seem to inherit the scale and position of a primitive, like the star, whereas an FBX doesn’t appear to.

Thanks

EDIT: Also, when you say the values are stored on import for export, does that apply to both OBJ and the FBX plugin?

EDIT 2:

Is it recommended to Merge Visible when exporting multiple SubTools from ZBrush, as opposed to exporting everything out separately in a single FBX file? Or exporting one SubTool at a time? I don’t particularly want things merged at this stage, but if that also contributes to weird placements…

I mean, I’ve just tried having everything merged with both OBJ and FBX and the models import back into Maya in the right position.

Also, if I import an FBX model into a new scene, it’s placed at the centre of the world/Floor and looks fine, but if I export it out as an FBX (SubTools separate and in a single file), and import it back into Maya, it’ll be the right scale, but it’ll be placed miles above rather than over the grid where it was before. And I also made sure to the freeze the transformations beforehand. :-\ Everything comes in green too and I have to reapply smoothing as parts of the model get weird triangular shading.
Before:


After:


OBJ fares a bit better, but it still places it away from over the grid:

Hi

This is a follow up post/question from this thread:

I did revive the thread with my problem, but I didn’t get a response, so, I figured I’d start a new one to see if I’d have better luck. :slight_smile:

Based on what Spyndel said in that thread, is it recommended to always import/export back and forth with an OBJ format? OBJs only seem to inherit the scale and position of a primitive, like the star, whereas an FBX doesn’t appear to. Well, I’ve noticed it still adds a star primitive first, but it doesn’t add everything within the same SubTool/Item.

Also, when the values are stored on import for exporting, does that apply to both OBJ and the FBX plugin?

And is it recommended to Merge Visible when exporting multiple SubTools from ZBrush, as opposed to exporting everything out separately in a single FBX file? Or exporting one SubTool at a time? I don’t particularly want things merged at this stage, but if that also contributes to weird placements…

I mean, I’ve tried having everything merged with both OBJ and FBX and the models import back into Maya in the right position. If I import an FBX model into a new scene, it’s placed at the centre of the world/Floor and looks fine, but if I export it out as an FBX (SubTools separate and in a single file), and import it back into Maya, it’ll be the right scale, but it’ll be placed miles above rather than over the grid where it was before. And I also made sure to freeze the transformations beforehand. :-\ Everything comes in green too and I have to reapply smoothing as parts of the model get weird triangular shading.
Before export to ZBrush:

After importing from ZBrush:



At the moment, I’m tweaking one object at a time, such as changing the UVs etc. But no matter what I do, whether with an OBJ or FBX, and whether adding a star primitive beforehand, it fails to come in at the same location. :frowning:

Before exporting to ZBrush:


Imported into ZBrush:

Inserting a star primitive:
ZBrush_3T0fchFM7h
Importing the OBJ:

Importing the FBX:
ZBrush_OYlj3PdgC9

Hi @DustyShinigami

I’m sorry to have confused you. If I gave you that impression I wasn’t clear.

First off, it is important that you be using an up to date version of ZBrush. Obsolete program versions may contain bugs that have since been fixed. Before reporting issues, always make sure your program is up to date. There were some bugs related to the import of some formats corrected in the final release for ZBrush 2022, as well as in subsequent releases for ZBrush 2023.



Proper manual import procedure is to select the default polymesh 3d star primitive as an import target. This is because that tool has zero values in the Tool> Export menu, and you can be assured of a clean slate. If any other tool with non-zero values in that menu is active at the time of import, the incoming mesh will inherit these even though they aren’t meant for that mesh. This is the cause of the vast majority of scaling issues users experience.



In order to work well in ZBrush, a mesh must be globally centered, and it must be within a certain size range. If imported properly, ZBrush corrects for both of these. It will center a mesh and re-size it to an optimal value ( a Geometry> Size > XYZ of approximately 2.0). It records the values needed to restore the mesh to the exact same size and position in the Tool> Export menu, and then restores them on Export. Those settings are Tool-specific, and not meant for any other mesh.

If that procedure is followed, a mesh will always look about the same size and centered in ZBrush, regardless of what it looks like in the actual file in another program. It could be off-center in the actual file but still look fine in ZBrush. However if the user imports with another mesh active that has settings in that menu that aren’t meant for the incoming mesh, that mesh will experience scale or position shifts when exported.


What this means is that you can’t import a separate mesh directly into another active tool as a subtool in ZBrush, unless you are specifically trying to replace one mesh with another version of the same mesh with the exact same size and position. There are a number of reasons you might do this–for instance to update UVs.

In the case of multiple meshes that need to keep the same size relationship to each other, you must either import them all at the same time in the same file with the same scaling rules, or you must first import an initial mesh, for instance the body of a character, as I have described above. This sets the initial values in Tool> Export so the mesh can be worked with. Then you must import the separate mesh using the exact same procedure, and append (Subtool> Append) it to the main tool. It will then be scaled to the correct size and position relationship to the main tool relative to that mesh.

This assumes the meshes have the correct relationship to each other in the original file. If there have already been the sort of procedural errors I described above, then files exported from ZBrush may have had their scale or position changed and they no longer maintain the correct relationship.



Scenario 1: Import a single file into ZBrush:

  1. Select the default Polmesh3d Star as the active Tool.

  2. Use Tool> Import.

Scenario 2: Import separate files into ZBrush that have a size relationship to each other.

  1. Select the default Polmesh3d Star as the active Tool.

  2. Use Tool> Import to import the first file.

  3. Again select the default Polmesh3d Star as the active Tool.

  4. Use Tool> import to import the second file.

  5. Make the first imported mesh the active tool.

  6. Use Subtool> Append to append the second imported mesh to the first one as a subtool.

Repeat this for each separate subtool, or use the Subtool Master Multi-Append feature after importing the first mesh (Does not Support FBX).

The simpler solution is to import all meshes at the same time as part of the same file.



Please contact Support for any technical issues if this doesn’t work as I have described. We cannot assist you with technical problems over the public forums. I’m going to merge this thread into your previous thread on the same topic.

Thank you!

1 Like

@Spyndel

Ahh, okay. Unfortunately I’ve been using a university’s version, which they’re still on 2022.0.7 at the moment. But I’m certainly curious how well importing works with the latest version now. :slight_smile:

Could you clarify what you mean by the recording of the values, under Tool > Export, being Tool-specific? What other mesh type aren’t they meant for?

So, why is the star primitive the one recommended to use compared to other primitives? Don’t they all have a clean slate?

But thanks for the lengthy explanation. Just to clarify and double check - can this method be done with FBX? Or does that not work the same way? I pressume it does (or should) and is one of the formats fixed in the latest versions…?

Thanks again