pjz99 opened this issue on Jun 13, 2007 · 34 posts
pjz99 posted Wed, 13 June 2007 at 10:37 AM
I've been wanting to add some fine detail to a certain V4 character's head for some time, and banged on this until I got it to work. If anyone's interested, here's the procedure.
1) From Poser, load your V4 and apply whatever morphs are desired, like so:
2) File Menu -> Export -> Wavefront OBJ -> Single Frame, and select only the Head from the Hierarchy Editor:
3. These export options work. Others might work too.
4. Supply some filename. For this activity, scaling did not cause me any issues, although be aware that for other tasks e.g. creating morph targets, you'd want to look into scaling the OBJ file up, and then back down on the way back into Poser.
5. Open Zbrush 3. Hit Escape and bypass the Quickstart menu. Preferences menu -> Importexport -> un-select iFlipY and eFlipY (again other options might work too).
6. From the Tool palette, click Import. Locate and open the exported OBJ file. Draw a copy of the head onto the document window, and press T to switch to Edit mode. The head will draw facing away from you; it's OK to rotate the view around to the front like so.
7. Open the Morph Target palette, and click StoreMT to store a morph target. This is crucial to allow Zbrush to separate the base mesh from the changes made when subdividing and sculpting. Note the location of the StoreMT button in the above screenshot.
8. Subdivide (Ctrl+D) as much as you like (I did 3 times). Sculpt, in this case with a very fine Standard brush with X symmetry turned on (hit X).
9. From the Geometry palette, switch back to Subdivision level 1.
10. From the Morph Target Palette, click Switch. This returns the bottom subdivision level to an un-morphed state, and allows us to make a displacement map. Stay at subdivision level 1! This threw me for a long time, because I kept thinking I should switch back up to max subdivision level, but don't do it yet.
11. From the DIsplacement palette, set options as you like; I set them like so. I'm sure other settings would work just as well or better.
12. Press Create DispMap. You should see the outline of the Displacement palette rapidly animate over to the Alpha menu at the top left of the screen. This should place a copy of your displacement map on bottom of the Alpha palette. Select your displacement map and make it the Current Alpha.
13. With your displacement map set as the Current Alpha, from the Alpha menu (not the palette, the menu at top left), click Flip V. This is because, by default, the displacement map is stored upside-down from how Poser expects to read it.
14. From the Alpha menu, click Export. Select a file format. TIF is fine, and can be converted to JPG on the way back to Poser to reduce size if desired. Zbrush seems a little inconsistent in this department; one session exported 4000x4000 at 31MB, and another one following the exact same steps exported at 259KB. I don't see any options to set file compression or color depth; this is a 16 bits/pixel image in both cases.
Anyhow, let's bring it back into Poser now.
15. We have a small problem: Zbrush displacement maps consider the zero point to be 50% grey. Poser considers the zero point to be 0% (black). So we're going to subtract .5 from the color values of the displacement map (thanks Stonemason, BagginsBill). In Poser, switch to the Materials room -> Advanced view. Select the 1_SkinFace group. Click the plug next to Displacement on the root node and select New Node -> Math -> Math_Functions.
16. In the new Math_Functions node, change the Math_Argument parameter to Subtract. The Value_1 parameter should be set to 1.0. Change the Value_2 parameter to .5 (we're going to subtract 50% of color values from the image map, once we add it.).
17. Click the plug next to Value_1. New Node -> 2D Textures -> Image_Map.
18. In the new Image_Map node, locate and set your displacement map. You may also want to turn off texture filtering (I do).
19. Complete! If you like, you can save a Material, or Materialss Collection, that includes this setting; see Poser documentation for use of Materials Collections. We're now ready to render! But we need to tell Poser's render engine to Use Displacement maps. If you use another application for rendering, some more work may be required, see your renderer documentation.
20. Voila!