Forum: Poser - OFFICIAL


Subject: The LuxPose Project - Alpha Stage

Khai-J-Bach opened this issue on Aug 27, 2010 · 1684 posts


DisneyFan posted Thu, 02 September 2010 at 4:47 PM

Hrm... here's a side-project for somebody, someday...  As is typical of Poser's dynamic hair, it doesn't convert to .obj format correctly - the lines become planes:

 ---> 
 (Don't mind the camera and mats being off, I changed both after I made the Poser render.  Also, the Lux render was only an hour in the making, hence the noise)

 Blender supports hair, LuxBlend will export it, and Lux will render it.  I've had reasonable success before, hand-editing .objs and .hr2's to get dynamic hair both out of and into Poser from Lightwave (the latter is pretty unstable, I've never shared the idea with anyone because it's really unpredictable on a case-by-case basis, whether it'll work, grow weird, or just crash Poser), so I've wrangled with it between programs before.  Perhaps you/I/we/somebody should take a look at what Lux does with hair.

   I found a hair tutorial for Blender, and managed to grow some on a cube.  This is the Lux export output:

ObjectBegin "Cube:PSys:luxHairPrimitive:joint"<br></br>
NamedMaterial "Material.001"<br></br>
Shape "sphere" "float radius" 0.000798<br></br>
ObjectEnd # Cube:PSys:luxHairPrimitive:joint<br></br><br></br>
ObjectBegin "Cube:PSys:luxHairPrimitive:leg"<br></br>
NamedMaterial "Material.001"<br></br>
Shape "cylinder" "float radius" 0.000798
"float zmin" 0.0 "float zmax" 1.0<br></br>
ObjectEnd # Cube:PSys:luxHairPrimitive:leg<br></br><br></br><br></br>

The "sphere" and "cylinder" are the actual geometries of the joints and the segments of each hair, I think?  Continuing:

<br></br>
AttributeBegin #
Cube:PSys:luxHairPrimitive:joint_strand0_segment0<br></br>
Transform [1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0
0.397011786699295040 0.031038329005241394 -1.000000119209289600
1.0]<br></br>
ObjectInstance "Cube:PSys:luxHairPrimitive:joint"<br></br>
AttributeEnd<br></br><br></br>
AttributeBegin #
Cube:PSys:luxHairPrimitive:leg_strand0_segment1<br></br>
Transform [1.0 0.0 0.0 0.0 0.0 -1.0 0.0 0.0 0.0 0.0
-0.036066532135009766 0.0 0.397011786699295040 0.031038329005241394
-1.000000119209289600 1.0]<br></br>
ObjectInstance "Cube:PSys:luxHairPrimitive:leg"<br></br>
AttributeEnd<br></br><br></br>
AttributeBegin #
Cube:PSys:luxHairPrimitive:joint_strand0_segment2<br></br>
Transform [1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0
0.397011786699295040 0.031038329005241394 -1.036066651344299300
1.0]<br></br>
ObjectInstance "Cube:PSys:luxHairPrimitive:joint"<br></br>
AttributeEnd<br></br><br></br>
AttributeBegin #
Cube:PSys:luxHairPrimitive:leg_strand0_segment3<br></br>
Transform [1.0 0.0 0.0 0.0 0.0 -1.0 0.0 0.0 0.0 0.0
-0.026456236839294434 0.0 0.397011786699295040 0.031038329005241394
-1.036066651344299300 1.0]<br></br>
ObjectInstance "Cube:PSys:luxHairPrimitive:leg"<br></br>
 AttributeEnd<br></br><br></br>

And so on, continuing to the end of that one hair (this one has 16 segments).  Then it goes on to joint_strand1_segment1.  I'm not sure if these are guide hairs, or individual hairs.  That aside, any hair reference would have to be divided up between each point, and listed one at a time.  This looks like it could get... huge.  o.0  Is this even feasible?

Meanwhile, I'm gonna see if there's documentation for hair...

----------------------------------------------

currently using Poser Pro 2014, Win 10