Sat, Jan 11, 12:17 AM CST

Renderosity Forums / Poser - OFFICIAL



Welcome to the Poser - OFFICIAL Forum

Forum Coordinators: RedPhantom

Poser - OFFICIAL F.A.Q (Last Updated: 2025 Jan 10 10:00 pm)



Subject: A "hairy" situation - Cr2 manipulation. (scripting gurus needed) P5


Tiny ( ) posted Tue, 15 March 2005 at 12:09 PM · edited Sat, 11 January 2025 at 12:16 AM

Situation:
-One (dynamic) hairy cat.
-One "extra" obj file (created by Poser) that holds dynamic hair geometries.
-A cr2 file which has a section:

hairProp Hair_1:1
{
geomCustom
{
numbVerts 2922
numbTVerts 2922
numbTSets 2922
numbElems 487
numbSets 2922
v -0.027808 0.019912 0.139839
---------- etc -----------------

It seems to me the cr2 holds all hair geometry data. But unless the path for 'figureResFile' points to the "extra" obj file (instead of pointing to the cats original obj file)Poser will only show the guide hairs. The real hair never appears.

Is it possible to add the function(?) 'alternateGeom'? For example:

hairProp Hair_1:1
{
alternateGeom Hair_1_1
{
objFile :Runtime:Geometries:Tiny:hair.obj
}
}
geomCustom
{
numbVerts 2922
numbTVerts 2922


If possible,what would be the coorect way (format) to add it and have it work?



PapaBlueMarlin ( ) posted Tue, 15 March 2005 at 1:51 PM

I have no idea. Maybe ockham or face_off can help :)



ockham ( ) posted Tue, 15 March 2005 at 2:10 PM

How's that for passing the buck? Seriously, this looks like an internal CR2 problem, and when I think of CR2 details, I think of Les.

My python page
My ShareCG freebies


Tiny ( ) posted Tue, 15 March 2005 at 3:17 PM

I have sent the issue to CuriousL too. Someone at their end created the hair room and ought to know something about this. If they're still around.
Otherwise it is due time to have something done about it. One should be able to do hair on a figure without using props. IMHO. :o)

I guess I can use RTE, but I can't let go of this. It has to be a better way! Or one just have to invent a way.

walks away with an obstinate look...



face_off ( ) posted Tue, 15 March 2005 at 3:25 PM

Out of my league - sorry Tiny.

Creator of PoserPhysics
Creator of OctaneRender for Poser
Blog
Facebook


EnglishBob ( ) posted Tue, 15 March 2005 at 3:41 PM

The hair and cloth rooms were done by outside contractors, I believe, which is why some aspects of them have that 'tacked on' feel. If you want to make the geomCustom lines into an external OBJ call, it might be best to do them as a prop - look at the Poser primitives to see the basic syntax. Just off the top of my head, no warranties, I Am Not An Expert, etc... Back up early, and back up often. :)


Ajax ( ) posted Tue, 15 March 2005 at 4:37 PM

The syntax for bringing external prop meshes into a cr2 works as follows: hairProp Hair_1:1 { storageOffset 0 0 0 objFileGeom 0 0 :Runtime:Geometries:Tiny:hair.obj }


View Ajax's Gallery - View Ajax's Freestuff - View Ajax's Store - Send Ajax a message


Ajax ( ) posted Tue, 15 March 2005 at 4:41 PM

Notice it uses "objFileGeom" instead of figureResFile. You can also use the same keyword to bring in body parts that you want stored in a separate obj file to your main figure file, like this: actor snake14:1 { storageOffset 0 0 0 objFileGeom 0 0 :Runtime:Geometries:RSnake:epRattler:snakeA14.obj }


View Ajax's Gallery - View Ajax's Freestuff - View Ajax's Store - Send Ajax a message


Tiny ( ) posted Tue, 15 March 2005 at 4:45 PM

That's it! That is what I wanted to try out. Runs to try Ajax code



Tiny ( ) posted Tue, 15 March 2005 at 5:20 PM

I decided to test on the little frog (Zygotes?), which have smaller cr2 file.

Put one hair group on him, saved whole figure to char lib.
Added the lines in the cr2 file.
Loaded the froggie.
Loaded without error. And without hair! Not even the guide hairs.
On the other hand I got one more frog in the deal. ;o)

It is getting late here and my personel that runs the brain department is leaving for home. Can't trust them workers now a days... Will look at it tomorrow.

Goodnight everybody. And thank you!



Ajax ( ) posted Tue, 15 March 2005 at 5:56 PM

Well, I've just tried it myself and found there's no problem storing the hair as an external obj file. Here's the code for a simple hair prop. { version { number 5 } prop BallHair 1 { storageOffset 0 0.3487 0 objFileGeom 0 0 :Runtime:Geometries:Ajax:tests:ballhair.obj } hairProp Hair_1 { storageOffset 0 0.3487 0 objFileGeom 0 0 :Runtime:Geometries:Ajax:tests:hair1.obj } ballhair.obj contains the ordinary prop mesh on which the hair is grown. hair1.obj contains the mesh for the hair itself, exported from poser as an obj file with the default export settings. I was able to load the object from the library, calculate dynamics and render it and save it back to the library without losing the external mesh. However, the moment you perform any manipulations in the hair room, the hair becomes embedded again.


View Ajax's Gallery - View Ajax's Freestuff - View Ajax's Store - Send Ajax a message


jcbwms ( ) posted Wed, 16 March 2005 at 2:35 AM

No assistance on the issue other than to suggest revisiting ajax's solution or perhaps utilizing the swappable geometry function -- maybe even a readscript. However, there was an error earlier. Hair and cloth are not 3rd party applications. Both were written in house. They did, however, license the faceroom technology.


Tiny ( ) posted Wed, 16 March 2005 at 5:41 AM

I was able to load the object from the library, calculate dynamics and render it and save it back to the library without losing the external mesh<<
Great! One step closer. I must have typed something wrong in my test.

the moment you perform any manipulations in the hair room, the hair becomes embedded again.<<
I think one can live with that. This is more a distributing issue. Once it is on the computer all is ok, I think.

The goal is to be able to have the original MilCat obj path for the cat. And the path for the hair pointing to the hair obj file. Like this:
{
version
{
number 5
}
figureResFile :Runtime:Geometries:DAZAnimals:blMilCat.obj
actor BODY:1
{
storageOffset 0 0 0

--- snip ---

hairProp Hair_1:1
{
storageOffset 0 0 0
objFileGeom 0 0 :Runtime:Geometries:Tiny:hair.obj
}
{
geomCustom
{
numbVerts 6160


That is what I tried for the frog. Will test more later.



EnglishBob ( ) posted Wed, 16 March 2005 at 6:29 AM

It looks as if you left the geomCustom lines in - if so, they need to come out, since the geometry is now in hair.obj.


Privacy Notice

This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.