Modeling in hex, groups, materials, domains and smoothing meshes...

hello all =)

ive been doing more modeling lately and in trying to start an improved workflow i ran into some issues and have some questions.

i want to be able to model (or import) a mesh into hex, do the grouping, material zones, and subdivide the mesh... after mapping?!?!?!?!?!?!?

when you make domains, they by default generate material zones, but in other programs domains are NOT "groups", while it does transfer the material zones.

to make groups you have to detach the domains (or maybe just the selected polys), and while it keeps the material and gives a group, you lose either the mapping, or the materials when you export as a single group/object.

the other issue is that if you keep the separate groups, the model will "detach" in zbrush when smoothing is applied, even if the crease feature is used.

i use hex, zbrush and 3dcoat for any "mesh" i create, and these meshes need to be grouped, sectioned off into material zones, and smoothed, and i do way too much back and forth between the two to get the mesh to where i want it... nevermind the texturing and stuff for now, only concern here is getting the mesh 100% prepped for "fun"...

so lets talk workflow... first, you model. 2nd you prep for mapping, this is the groups/materials/smoothing part of the process. 3rd, with this model you can map it, then 4th have fun...

its the pre and post uv map process i get "stuck" in. not really stuck, but this is where all the back and forth and export>import kicks in. way too much. i must be doing something wrong in my process.

so i guess the "question" is whats the best way to get a mesh sectioned into groups AND materials, smoothed (or subdivided) to yield a uv mapped mesh that doesnt tear at the seams (possibly 1 one group)?!?

i usually have to go between so many programs and options and it just seems like madness. with the "finished" model, into hex for domains, then to uvmapper to switch the materials to groups, uv map between zbrush and/or 3d coat, smooth and unify the model thru uvmapper and hex again, importing uvs from a previously saved mesh into the unified mesh... you have to split the model into groups for zbrush, or materials for 3dcoat... but then you want a unified mesh (that doesnt tear at the seams). i tried extracting in hex which yields groups, dissociation which keeps materials. you want to map an unsmoothed mesh because its just easier, so smoothing comes after mapping, killing all mapping =/

dont get me wrong, i know how and can do it, it just takes many conversions, and im hoping there is an easier way... a "method".

heres my madness: model the object>hex for domains/materials>uvmapper to change materials to groups>zbrush for 1st step mapping>3dcoat for 2nd step mapping>**HELP**

its taking the grouped object with material zones that has been mapped and getting the single mesh that is subdivided (that keeps the uv intact) thats a real pita...

what are you guys doing?!?


  • There is no best way, other than already knowing how another modeling app will understand your Hex model. The way Poser treats OBJ files will be different than how 3D-Coat treats them.

  • so the madness im expressing... this is "common"?!?

  • cdordonicdordoni Posts: 573

    I think that's true to some extent. There isn't any one app that does it all, or satisfies everone's needs.

    Hexagon doesn't do smoothing groups (smoothing normals, not subdivision). A lot of modelers can save the smoothing group info to an OBJ file so edges that are specified as hard/sharp will appear that way in another application that recognizes smoothing groups.

    I don't have a lot of experience on the texturing side, however, from what I do know and from what others have demonstrated, texturing is a weaker area of Hexagon. You mention you have ZBrush and 3DCoat, so you already have some of the best texturing apps out there.

    Hexagon might be best used to develop the form, and UV'd or textured in another application.

  • ShawnDriscollShawnDriscoll Posts: 338
    edited October 2017

    I export from Hexagon as OBJ into Carrara to crease edges to make smoothing normals look right before exporting as OBJ into 3D-Coat for UVing and texturing. Then exporting as OBJ one last time for rendering in Poser, Vue, or modo.


    Carrara is the only program I have that will let me crease edges on a model. I'd be hosed without it.

    Post edited by ShawnDriscoll on
  • MorkonanMorkonan Posts: 215

    heres my madness: model the object>hex for domains/materials>uvmapper to change materials to groups>zbrush for 1st step mapping>3dcoat for 2nd step mapping>**HELP**

    its taking the grouped object with material zones that has been mapped and getting the single mesh that is subdivided (that keeps the uv intact) thats a real pita...

    what are you guys doing?!?


    Read the TLDR at the bottom, for the final verdict: :)

    You won't believe how much junk I wrote, some of it really good, too. :) But, to put it simply: You can not use Hexagon to create, edit or muck with a multigrouped object with welded groups. Doesn't work, won't work and can't export properly "welded" groups in a wavefront object format, no matter the export setting. (Tested a bunch with it for this post and it just "don't do that." And, it doesn't like any objects it considers "weird" like that.) Any object in the scene window with its own "Object Name" is, in fact, a "Group" as far as Hex is concerned. ("Domains" are internal gibberish magic, like many programs have, and don't translate into anything for a wavefront object file format.)

    You can, if you wish, easily create a multigrouped object in Hex that preserves the UVMap, no problem. After you've assigned the materials to it and sub-d'd and mapped it, (ie: it's in a finished state) then select the object, select the faces you want to be in a group, copy or cut and then paste them as a new object, which is what Hexagon considers to be a "group." Then, go back to the donor model, select the faces you want for the next group, rinse and repeat. Once you're finished, hide the donor object (Hex considers anything exported that is visible as one single object) and then export - Walla, a multigrouped object ready for rigging. It just won't have contiguous geometry between groups. Hex don't do that stuff.

    So, what to do?

    I'm not familiar with some of details of some of the programs you're using. One thing that may help is that if you're using ZBrush, you could maybe use Poser's bridge/script/import/export thingie to make things easier, since it's designed to combat this sort of problem.

    What I would do is, for an original model, create the model in Hex, assign the materials, map it, create my groups using the "donor object" method, without any alterations, then hide the donor object and export the resulting multigrouped object. THEN, I'd hide those groups, unhide the donor, and export it as well.

    I would then use UVmapper to create a .uvs file of the multigrouped object. I'd take the single-grouped object into the various proggies for further mapping and texture work. In that case, it's only a "frame" and the object's actual geometry isn't touched.

    BUT, that assumes you're UVMapping in Hex. IF you're not, then you need a way to preserve the UVMap created in a third-party program and just add split it up into groups. You can do unwelded groups using the above copy/paste method. But, if you want Hex to produce welded groups...

    Hex don't do that. :)

    TLDR: Hex doesn't "do" welded wavefront object groups at all. It won't. You can't make it. IF you want the least amount of conversion fuss in your workflow, you need to UVMap inside of Hexagon, then use UVMapper to create a .uvs file from that multigrouped model. PRESERVE a non-grouped version, the "donor" that I described above, and then use that, since it's already mapped just like the mutli-group version is mapped, in your texturing packages. If you're trying to end up with welded groups, you may be able to use some export features of Poser or it's Zbrush import/export scriptie-thingie to do that, but I wouldn't know.

    The important bit? Copy or Cut and Paste will not destroy the UVMap of an object in Hexagon. Every separate object in the scene list is considered to be a "group" and is exported, always, as a non-contiguous geometry group in a wavefront object format. ("g" header in the lines of the .obj file format.).

    PS - If someone knows differently, paste the contents (text file) of a simple, so it's not a huge block that borks up the forum, multigrouped object with welded groups that was created in Hex, please. I'd love to see it. :)

  • hey, didnt notice all this here... thanks for the response, gimme a sec to let it marinate on my brain... brb =)

  • MorkonanMorkonan Posts: 215

    Just a note: There could be other ways of UV'ing and doing the stuff you want to do. It's just that I don't exactly know what your workflow is. I'd also have to see if some free apps, like Blender, can trasfer groups to a map while retaining UVs, basically involving reassingning UV'd verts to the appropriate group while retaining their relative relationships without having to do both at the same time. For instance, IIRC, with UVMapper lite, you can do "either/or." But with an existing map, it's going to get written over if, for instance, you just transfer the groups saved in a uvs to a remapped object. (I "think." Have to try it it and see, I guess.)

    Most 3D pipelines have a bunch of contributing apps being used. Most people use several by the time they're through, so it's not an unsual thing, especially when one is trying to stay married to one app and every darn app seems to be competing with others.

  • Took me a while to get back to this, my apologies... I know I've been out the loop for a while, and somewhere in between things I learned started to soak in, so I think I whatever work flow I had had been forgotten, and in applying what I've since learned sought to create a new with a better understanding of things, so follow my madness if you can...

    I have hex, ZBrush, and 3d coat, so I will explain my "new" process, and since my initial post have somewhat solved my own problem, lol

    So we model, we map, we paint, we render. That's the "process"... materials, groups, domains, zones.... we will get into that.

    1st step is to get my mesh. I can start extruding a box model in her, or go insane with voxels in 3dcoat. Export out as .obj format.

    2nd step (a lot of little steps), prep for uv mapping. In hex you can easily select faces and set them to domains. Domains are "useless", but they auto-generate material groups. Export out as .obj format. In ZBrush you can paint/mask material groups. Export out as .obj format.

    3rd step, in ZBrush you can use those material sections you masked off and now automap in ZBrush. In 3d coat you can use the automatic feature to map, or use the edge loop feature to section off material zones and then map that way. You can also touch up the ZBrush mapping in 3dcoat, I find it works VERY well, especially for my organic models.

    For ZBrush we want the material group to match the "group" group to take advantage of the multimap exporter. In 3dcoat it's really moot, we have access to both independently or simultaneously...

    ZBrush is the culprit for splitting solid meshes, but in uvmapper basic if you simply "combine" the groups, import that into hex, you can without fear of losing uvmapping or material sections, subdivide the mesh. Export this bad boy out in .obj format, and THIS is the solid, single group mesh I paint on.

    Of course this is all very simplified, assuming you have an understanding of the programs. I paraphrased and skipped some detail, but basically that's it.

Sign In or Register to comment.