Is it possible to bake HD morphs to maps?

Hi there. HD morphs add a lot of details to the models but since they work on the subdivided mesh they add a lot of geometry and thus resource usage. Exported models also don't work well (if at all) in other 3D applications on my "not-so-brand-new" computer. For those reasons i've tried to bake those HD morphs to textures as i'm sure microdisplacement, normal maps or a combination of both in Blender would give a result extremely close to the actual morphs.

I can export the HD mesh to obj and load it in specialized applications (such as xNormal or Handplane Backer) but there's one serious issue for backing the details : the models are using 2 UV maps (face and body) and without the ability to split the mesh into head and body and bake them separately, both maps end up applied over each other (with only the face map visible).

I've looked at every option for DAZ Studio export and unless one of those made me blind, i can't split-export to multiple meshes. I didn't find a way to specify multiple UVs in Handlplane. Finally, i havn't been able to split the mesh in any application to re-export it (Blender barely imports it and crashes when i try to go into edit mode, Wings3D eats all my RAM and crashes and unsiprisingly 32 bit Hexagon chockes on it after hanging for several minutes).

So does anyone have a workflow to bake those morphs to normal/displacement maps (ideally one that doesn't rely on a commercial application with a 3 or 4 digits cost)? Any hidden option to split the mesh when exporting from studio? Something to handle multiple UVs for different material zones in xNormal/Handplane? Knowledge of an application that can open and edit 800 MB obj without crashing? Any help would be appreciated.

Comments

  • nonesuch00nonesuch00 Posts: 18,032

    Why couldn't you do a high HD detailed set of renders and turn right back around and create displacement maps from that set of renders the way they do with normal photography, although I doubt it'd be as detailed or accurate?

  • cutting up by UV with the geometry editor and exporting obj’s for Xnormal was the only way I could do it and the results unimpressed me

  • PadonePadone Posts: 3,610

    No. Actually there's no easy way to do it. This is why I can't understand what those "interactive licenses" are for. You can't use HD morphs in games until you convert them to normal maps. And there is no tool in DS to do it.

  • well it is not that hard for the Premier Artists using the HD import to create normal maps as well if using Zbrush

    but some have come out and said on the forum they won’t as working in DAZ studio is all that matters to them and it adds too much to file size with the extra maps!

    Some others actually have the extra maps and stay quiet, I have found them by accident.

  • PadonePadone Posts: 3,610
    edited December 2017

    Yes. If you are a PA then you have access to HD morphs and you can convert them to normal maps with Zbrush. But normal users can't. This is why I said "no easy way". So you can buy "interactive licenses" for HD morphs but you can't use them. That's funny indeed.

     

    EDIT: I wasn't aware of the free xnormal utility http://www.xnormal.net/. Thank you very much for pointing it out. That seems a quick solution for baking HD morphs at last. Still it would be fine if DS had its own tool for that ..

    Post edited by Padone on
  • r0k_32bcdd58c8r0k_32bcdd58c8 Posts: 4
    edited December 2017
    th3Digit said:

    cutting up by UV with the geometry editor and exporting obj’s for Xnormal was the only way I could do it and the results unimpressed me

    Thanks, that's exactly what i was looking for but for some reason i totally missed that tool. Last time i used DAZ Studio it didn't have any built-in tool to work on geometry so i didn't really search for one.

    When you mention "cutting by UV", is there an easier way than using "select by surface" and rebuilding the "face" UV map  from (if i see correctly) the face, lips, ears and eyesockets surfaces?

    Oh, BTW since you sound like you had success, any trick to avoid bad normals in the eyes and lips regions? If i try to expand the LP mesh to act as a cage for normal backing, the lips intersect and this creates artifacts and if i don't use a cage, the result is really bad.

    Post edited by r0k_32bcdd58c8 on
  • as I said, I was not impressed 

  • Oso3DOso3D Posts: 14,958

    Many decent modeling apps will do this.

    In substance painter you can bake Normal maps from high poly meshes. Just export a base (or subd1) basic mesh, then a subd3 or 4 high poly mesh. Load the first, out the second into texture map meshes thingie, then bake. Voila!

    Mudbox can also bake normals, and many more.

  • PadonePadone Posts: 3,610

    Then may be it works with Blender too. If I export the basic shape to obj then a subd 4. Then bake to normal map in Blender .. I'll give it a try as soon as I'll have some time. Thank you too Oso3D.

  • drzapdrzap Posts: 795
    edited February 2018

    I split Genesis figures meshes into many pieces all the time.  I'm not sure if I know what you mean, but in Maya at least, I can separate the mesh and then I have a several dozen pieces, including separated head and body, individual teeth, etc..

    Post edited by drzap on
  • ARealitiARealiti Posts: 135
    edited February 2018

    This worked really well in Substance Painter. Thanks Oso3D

    M - ARealiti

    Post edited by ARealiti on
  • ARealitiARealiti Posts: 135
    edited February 2018

    ps this will be a big thing for making the Runtime License useful for HD models. Daz should let everyone know this on the Runtime License as part of the sales, otherwise a lot of peopel will be frustrated with HD models

    M - ARealiti

    Post edited by ARealiti on
  • CrissieBCrissieB Posts: 195

    If I understand correctly, you want to bake hi-res bump and normal maps for the Face, Torso, Arms, and Legs. You can do that fairly easily using DAZ, Blender, and Substance Painter:

    (1) In DAZ, open a scene and set your figure to Base resolution..

    (2) Hide all clothing and props and, if the figure is G8-based, hide the eyelashes.

    (3) Export the figure as an obj, with a filename such as MyFigureBaseRes. In the DAZ export dialogue, make sure you check Write Surfaces and Original Maps.

    (4) In Blender, open a scene and import your MyFigureBaseRes obj. In the import dialogue, make sure you check Keep Vert Order and Poly Groups.

    (5) Select your figure in Blender and tab into Edit Mode. Click 'A' to deselect all.

    (6) Click the Materials button in the Properties area (right column, lower panel).

    (7) Scroll through the Materials list to Face and click Select. Then scroll to Ears and click Select. Then scroll to Lips and click Select. You now have selected all of the polys in the DAZ Face skin. Create a New Material, call it Face Skin, and click Apply. Click 'A' to deselect all.

    (8) Scroll through the Materials list to Torso and click Select. Open a UV window and drag (G, then X) the Torso UVs into the center of the UV map area. (By default they are off to the right.) Click 'A' to deselect all.

    (9) Repeat step #8 with the Arms material. (By default, those UVs are farther off to the right.)

    (10) Repeat step #8 for the Legs material. (By default, those UVs are even farther to the right.)

    (11) Create a new material called NotSkin. Using the Materials list, select the various parts of the eyes, inner mouth, teeth, tongue, fingernails, etc. Assign all of them to your NotSkin material. Then tab into Object Mode and delete all of the unused Materials from the list. Your Materials list should now have five materials: FaceSkin (which includes the ears and lips), Torso, Arms, Legs, and NotSkin.

    (12) Export your figure as an obj with a name such as MyFigureSkinMats_low.

    (13) Go back to DAZ, set your figure to High Resolution, and export the obj with a name such as MyFigureHighRes.

    (14) Go back to Blender and repeat steps 5-11. Then export your figure as an obj with a name such as MyFigureSkinMats_high.

    (15) Open Substance Painter and create a new file with MyFigureSkinMats_low at 4096x4096 resolution, with Normal mode set to Open GL.

    (16) Click the Bake Textures button, deselect ID Maps (in the left list), and click the File icon beside High Definition Meshes. Select MyFigureSkinMats_high, then Bake All Textures. This will bake Height and Normal maps (along with the other procedural textures) based on your high-resolution mesh.

    (16) Export your Textures. In the export dialogue, deselect NotSkin, so you will only export maps for FaceSkin, Torso, Arms, and Legs. Create a new folder with a name such as MyFigureHiResMaps. I set the Common Padding to Dilation plus Transparent, with the Dilation at 1 pixel.

    (17) Open your MyFigureHiResMaps and delete all but your Height and Normal_OpenGL maps. (You won't need the Base_Color, Metallicity, Roughness, or Mixed_AO maps.)

    (18) In DAZ, select your figure and go to the Surfaces tab, then click the Surfaces arrow to open the list of material zones.

    (19) Select the Ears, then CNTL-click to add the Face and Lips. Scroll down to Base Bump, click on the box to the left of the slider, and apply your FaceSkin_Height map. Scroll down to Normal, click the box to the left of the slider, and apply your FaceSkin_Normal_OpenGL map.

    (20) Select the Torso and apply your Torso_Height and Torso_Normal_OpenGL maps. Likewise for Arms and Legs.

    (21) Select your figure and Save As>Materials Preset, with a name such as MyFigureHiResBumpNormal.

    You now have a figure with your HD morphs baked into the height and normal maps!

    I hope this helps,

    Crissie

  • edited August 2021

    Hi all,

    I tried following @CrissieB steps, and produced normal maps. May be i have done something wrong, so my normal maps give inward effect on some places and on other places they give outward effect.

    Post edited by ssaqibalitipu_627e275e4d on
  • RenhaRenha Posts: 12

    WendyLuvsCatz said:

    cutting up by UV with the geometry editor and exporting obj’s for Xnormal was the only way I could do it and the results unimpressed me

    Could you please explain (and/or show) what is the difference between xnormal result and substance painter one? I have no opportunity to check that by myself.

  • Renha said:

    WendyLuvsCatz said:

    cutting up by UV with the geometry editor and exporting obj’s for Xnormal was the only way I could do it and the results unimpressed me

    Could you please explain (and/or show) what is the difference between xnormal result and substance painter one? I have no opportunity to check that by myself.

    LOL don't bother, it did not work well 

Sign In or Register to comment.