Home Technical Talk

Zbrush question - max material ids

polycounter lvl 18
Offline / Send Message
Rick Stirling polycounter lvl 18
I haven't got Zbrush 2 yet, but I was wondering if it kept max material IDs? The reason is that I will be splitting a model I am creating into head, upper and lower materials. I've written a max script that splits the model into seperate models for each part, and was hoping that I could export the complete unsplit model into zbrush, build a hires model, then take it back into max and use the same script.

So - if I take a model with material IDs into zbrush, work it and then take it out, will it still have them? Or will the import/export formats (it doesnt accept .max) lose this information by default anyway?

Replies

  • Cubik
    Offline / Send Message
    Cubik polycounter lvl 18
    Been trying to figure this out by myself. None of my first attemts has been succesful...
  • Squid
    Offline / Send Message
    Squid polycounter lvl 18
    It's been while since i used max but i'm sure obj and dxf will most likely destroy any semblance of proprietary max nodes.

    If you can set smoothing groups to relate to mat id's then you could probly go this way (exporting the user normals in the obj export dialog).
  • Rick Stirling
    Offline / Send Message
    Rick Stirling polycounter lvl 18
    ah! Thats a good idea! It will be simple enough to script that.
  • Whargoul
    Offline / Send Message
    Whargoul polycounter lvl 18
    As far as I an tell, zBrush only ever lets you have 1 material per object (easily). You can paint on different material per face if you wish though.

    If you are using it to paint textures, you'll have to have all of your UVs non-overlapping (which beats the point of separate materials/textures). So it really sucks for that.

    If you're using it to create displacement maps from highrez/lowrez, you can. There's a plugin called "multi-displacement". You basically have to have each of your material's UVs in a different offset UV space. 0-1 for the first, 1-2 for the next, etc. It works by treating each of those as a separate texture to create the displacement.

    If you're using it to create normal maps: don't bother. There's no multi-normalmap plugin. Plus I don't like the restrictions it incurs to normal map inside zBrush. Just build your high rez geo and export it out and create your normal maps in whatever other program you like.

    Oh yeah, it also ignores all smoothing information, no matter what. It sets everything to faceted. Sucks.
  • pixeldamage
    Offline / Send Message
    pixeldamage polycounter lvl 14
    This is a super old thread but it still seems to be issue-here; safe and sound in 2016. Using Goz is great but ZBrush ditches the mat IDs for my head, eyes, lashes, lens etc. To get around this I've made a Maxscript that assigns mat IDs using the vertex array ID. It's a one button solution that applies all mats, IDs, and moves the head to the correct position / skin wraps it to another head / applies it to the correct layer and selection set; then exports to the game engine. It means that finally I can edit the head in Zbrush, hit Goz, hit my script in Max and see the result in Engine. 

    It would be great if this wasn't at necessary-after all, I came here looking for a better way since my script needs the vertex order to remain the same. I did some tests with Zbrush's FBX importer but it also suffers the mat ID issue.
  • Noors
    Offline / Send Message
    Noors greentooth
    Mmh Goz keeps the mat ids intact back and forth here. ID break when i use directly .obj, as i guess Goz reads/writes extra data in .obj.
  • pixeldamage
    Offline / Send Message
    pixeldamage polycounter lvl 14
    So if you make a cube in 3dsmax (for instance), it will auto-assign 6 mat IDs. Apply a 6 mat, multi mat and Goz/Goz. It appears to work. However, ZBrush is just using the vertex order which happens to match the ID order. If you now swap two IDs (on the cube/mesh NOT the multi mat) and GoZ/Goz; then the error manifests itself. With my eyes/ lens/ lashes multi mat the IDs start from ID2 because they are a separate object in Zbrush but share the same multi-mat in max / engine as the head.
Sign In or Register to comment.