ZBrushCentral

max/obj pipeline problem (edit: workaround found, modo helps)

Hi there,

Yes I know this is a much discussed issue and there are some threads (complete with a custom tool) on it but they didn’t help.

I started out with a base mesh created in max, along with some dummy UV to make polygrouping easier. In the Zbrush phase, I even managed to export and re-import the model in order to adjust some proportion issues in max.

This worked out fine until - I think - I added geometry in Zbrush using the Edgeloop commands. After doing so, the OBJ to Max to Zbrush workflow no longer works.

I’m just wondering: the same steps stopped working - why? Before I could even move vertices around in Editable Polyobject (then direct export w/o converting), but now even straight import-export without editing won’t work.

Why? Why? Why?

I realize that max sucks big time, too, but there is not even an official way of doing it, only long threads with fragments of information scattered around, and an user-written tool which might or might not work.

There should be something similar to Zmapper for geometry exchange.

Any hints would be appreciated, right now I’m afraid that I won’t even be able to re-do the UVs in max.

This kind of uncertainty while using Zbrush is really fatal in a pipeline.

using overlapping uvs can be troublesome at times. I think you’d be better off using parts instead for polygrouping.

could you explain how the export/import is not working any more? Error messages? missing geometry? crashing?

wow, quick response :slight_smile:

The UVs are not overlapping, they are in different UV spaces (as shown in the Zbrush-Max Pipeline Guide). I don’t like seperate pieces because the open edges tend to become too narrow after smoothing. But maybe I’m doing something wrong.

Now, regarding the “not working”: When I re-import an OBJ “touched” by max (even without editing) on my Ztool on level 1, all the higher level sculpts are more or less destroyed - I guess I can show it despite of my contract since the scrambled model won’t be showing anything, hold on.

OK, I hope the attached image is clear enough.

So no error messages or the like, seems to be the vertex re-ordering problem but I might be wrong. I tried pix0l_d00d’s utility but after that, I’m getting a different vertex count :frowning:

Attachments

pipeline-problem.jpg

note the streched polygons only appear in the higher levels, on level 1 it looks alright.

This is really strange: I tried with an ealier version and the exact same setting and steps still work out fine. They don’t work on all versions with the additional geometry I created using Edgeloop in Zbrush.

mhmm… Looks like the vertex ordering is changed. I can’t really help you I am afraid… :confused: The only thing I can tell you is that you should not export your low level model from zbrush and add/delete any verts and then try to reimport it, that will never work.

Parts is not open edges in OBJ format. I know how to define “parts” in lightwave modeler but not in max. There probably is a way, I just don’t know how.

I didn’t change the vertex count in any external program. The only change in the base mesh was made in Zbrush using the Edgeloop function, afterwards the simple process of loading and re-exporting it from max (without any operation) would make the re-import result in the mess.

So far it looks to me that Zbrush is partly “fault” of this, not only the general crappyness of max.

I think I have to take back my last statement. I tried the same process with silo and modo and both work out fine. So it’s just max in conjunction with that edited base mesh.

Still sucks, but big thanks to trial versions.

hmm… doesn’t supprize me. max reallly wants to mess with the vertex order…

just out of curiousity, why did you have to export/reimport if you didn’t change anything in max? :cool:

That was just a test. As I said, it worked fine at the beginning, so I wanted to adjust proportions in max again (in the context of other objects and later for UV editing), but it didn’t work, so I wanted to find out which step was evil. It turns out that the combination edgeloop in Z + max alone is evil enough.

Unbelievable. Both Silo and Modo could load, edit and save the OBJ which can be used in Zbrush, but not by loading a file max exported. The phrase “everything max touches becomes excrement” comes to mind (while using another word for excrement).

But I had to edit this model in order to meet a certain rig. So I had to found a way to get this adjustments into Zbrush.

Fortunately, I managed it to do so using Modo. Here’s a breakdown:

  1. export OBJ from Zbrush, say model_z.obj
  2. load OBJ into Max and edit away
  3. export OBJ from Max, into another file model_max.obj
  4. load both OBJ (model_z.obj and model_max.obj) into Modo
  5. using the Item List, rename the mesh item from model_max.obj to “max” and copy it into the model_z.obj file (rename to prevent confusion, as both mesh items would otherwise be “mesh(1)” and “mesh(2)”)
  6. select ONLY the original mesh item from model_z.obj, making the “max” mesh item a background item
  7. goto the Vertex Map List and create a new Morph Map, name it “maxmorph” for clarity’s sake
  8. With that new Morph Map active (highlighted), go Vertex Map (menu) :small_orange_diamond: Background Morph. This will make the max Mesh Item a “morph target”, so to speak
  9. Deselect the Morph Map and go Vertex Map (menu) :small_orange_diamond: Apply Morph…, using the maxmorph map and 100%
  10. Now you have the new vertex positions from max on a mesh which will be OK for Zbrush, since max didn’t really edit the file
  11. Delete the maxmorph map and the max Mesh Item, and save
  12. This OBJ should be a working new basemesh for Zbrush

Hope this helps. Maybe someone can try it out and confirm the workaround. If it works consistently, this should be sticky.