ZBrushCentral

impossible to import plane correctly (normals)

I would need to import a plane with more or less complex topology. it´s all quads, nothing scaled, no normals flipped - just simple plane. ZBrush is unable to import the normals in a correct way. normals are fliped on the up-vector, no matter which import settings I use. ZB flips the geometry though, but normals seem allways to be the same - wrong ones… no matter what.

is this a bug or can someone help me out? when importing watertight geometry there´s no problem at all. but makeing the plane waterthight gives faces more than twice as the plane is consisting of…

This is most likely a setting in the program you’re exporting the model from, but since you didn’t say which app that is, it’s hard to help. However, you can always turn on Tool>Display Properties>Double in ZBrush to see the model as double-sided polys. That way, the normals don’t matter.

I imported from maya and same model from 3dsmax. it doesn´t matter what software I guess. also i flipped normals in both apps before exporting - no difference. i ended with making it a half closed geometry by extruding border edges downwards.

but thx to your reply I discovered the flipButton besides the doubleButton.

The problem the original poster is encountering seems to be a major limitation of Zbrush… You must be very careful to never use the Flip option to flip the normals within Zbrush or you will loose the option to ever re-import the model to, say update the UVs. Also if you forget to store a morph target you’re completely out of luck and can never bake a displacement map!

I’m dying to find a solution or workaround to the situation of not having stored a morph target, and having flipped the normals within the Ztool…

You don’t have to have stored a morph target. This is only necessary if you don’t have an original OBJ of the model. If you are working with an imported model, here is what you would do:

  1. Import and divide the model.
  2. Sculpt how you want.
  3. Go to level 1
  4. Store a morph target
  5. Import the original model
  6. Create your displacement map

The morph target is created in this case so that you can switch back to it if you decide later that you want to go up subdivision levels again.

Alternatively, you can do the following:

  1. Import the model
  2. Store a morph target
  3. Divide and sculpt
  4. Retunr to level 1
  5. Switch to the stored morph target
  6. Create the displacement map

In this case, you have stored a morph target to begin with. But the previous method works if you hadn’t thought that far ahead.

What if you don’t have a morph target and don’t have an original mesh to import again? You can still create a displacement map:

  1. Sculpt your details
  2. Go to level 1
  3. Activate Tool>Geometry>Cage
  4. Create the displacement map
  5. Export both the map and the model (while Cage is still turned on)

You may get better results in this case if you create the cage at level 2 rather than level 1. The cage doesn’t always work very well if the model has very few polygons.

The cage option is a last resort to use in case you don’t have an original model to reimport and never stored a morph target. The other two methods will give superior results. But the basic fact is that you don’t have to have stored a morph target to be able to create a displacement map. ZBrush offers several methods to restore your base/cage mesh before creating the map.

I ran into a problem where I imported an OBJ into Zbrush, used the “Flip” function under Tool->Display Properties to get the normals to appear in the correct direction, subdivided, scupted at a high subidivsion level, returned to level 1, imported the original obj, and exported a displacement map. In this case the displacement came out with lots of weird rectangular artifacts and contained color values that didn’t reproduce anything close to the modeled detail. On the contrary it produced a completely mangled looking surface.

I then repeated the steps above but instead of using the “Flip” function in Zbrush I used the “Double” function to display the side of the object that was invisible due to Zbrush’s incorrect guess of the objects nomral direction. After this going through the rest of the steps (subdividing, modeleing, level 1, importing original model, and exporting a displacement map) produces a displacement map that looks correct and in fact when used in the renderer creates geometry that looks like what was modeled in Zbrush…

So my point was that there seems to be something happening when you Flip normals in a Zbrush tool that precludes the ability to re-import the original model at a later point. It’s almost like flipping the normals within Zbrush somehow mangled the point order or something on the object.

Thanks very much for responding,
greg

yes there is something going on here that I don’t get. I imported a plane with UV’s and when I assigned the origional texture to the object in ZB the uv’s were flipped. If I sculpt it it looks ok in ZB but comes out in reverse when exported to Max R9. But I’m not working the models backside. It’s not symetrical so unless I’m totally wrong (could be the case) It’s not the normals that is wrong for me but something else.

I’ll make a simplified scene and try to create a step by step to make it wrong.

-Carl

All textures must be flipped vertically when imported to ZBrush and applied to an imported model. Also, you must flip textures vertically before you export them from ZBrush in order for them to wrap correctly in other apps.

oh crap. I knew that. :o

wouldn’t it be great to be able to have a preset för Zb so that I set it once to work with Max and after that it always flips my textures so that I don’t have to worry about it. I think it’s quite a nuisance. I understand that this is not a problem for other apps but for me it would be great.

One klick less for every export/import :smiley: