Wed, Dec 4, 12:39 AM CST

Renderosity Forums / Poser Technical



Welcome to the Poser Technical Forum

Forum Moderators: Staff

Poser Technical F.A.Q (Last Updated: 2024 Nov 13 12:50 am)

Welcome to the Poser Technical Forum.

Where computer nerds can Pull out their slide rules and not get laughed at. Pocket protectors are not required. ;-)

This is the place you come to ask questions and share new ideas about using the internal file structure of Poser to push the program past it's normal limits.

New users are encouraged to read the FAQ sections here and on the Poser forum before asking questions.



Checkout the Renderosity MarketPlace - Your source for digital art content!



Subject: Multiple objFileGeom or objFile in a .pp2 ?


Luthoricas ( ) posted Thu, 13 March 2003 at 9:47 PM · edited Tue, 30 July 2024 at 10:26 PM

Suppose you had an arrow and 5 different heads for it. arrow.obj head1.obj ... ... ... head5.obj Can you use multiple objFileGeom's or objFile's for in the .pp2 ? The arrow.obj contains the geometry for the feathers and the shaft of the arrow. The head#.obj files contain just the head of the arrow. Can you specify in the .pp2 file for, say, "Arrow 1" to use the arrow.obj -and- the head1.obj ?


Luthoricas ( ) posted Thu, 13 March 2003 at 9:48 PM

...if so, how?


daveH ( ) posted Fri, 14 March 2003 at 5:35 AM

as far as i know, only scene files (pz3) and character files (cr2) may contain or reference multiple geometries. i haven't seen any prop files (pp2) that do this ...


maclean ( ) posted Fri, 14 March 2003 at 3:48 PM

Attached Link: http://groups.yahoo.com/group/PoserTECH/

Sure, you can do it, but it may not always give reliable results. If you go to PoserTech and get Jeff Howarth's Dial-a-prop, you can see how it's done. I believe he has a tute on it too. I tried it and it worked ok, but he says it can be buggy. mac


Luthoricas ( ) posted Fri, 14 March 2003 at 4:16 PM

Thank you, mac. I tried the dial-a-prop. It changes the entire geometry for the item. In effect, the entire item is changed as a whole. I'm wondering, does that mean poser loads the entirety of each of the possible geometries into memory? Or does it only load the one geometry it needs for the current dialed item? I was hoping for a way to have common parts of the prop load and stay, with the changing part, err,well, changing. It'd be a great way to cut down on total file size, too - if it can be done.


Luthoricas ( ) posted Fri, 14 March 2003 at 4:22 PM

I have had some limited success with parenting the arrow head to the arrow shaft, then saving the two props together in one library entry. Thus, the .pp2 actually contains two props. The arrow head, being parented, stays where it's supposed to. However, deleting the item then becomes a two-step process of deleting the arrow shaft, then the arrow head. But it did solve some of the odd problems I was having trying to use two geometries for one 'thing'. I tried making the arrowhead a smartparented prop to the arrow shaft, but still when deleting the arrow shaft, it leaves the arrow head to be deleted separately. Okay, so now does anybody have any ideas how I can link two props together so they both delete when the parent is deleted? (smartparented items to a character delete when you delete the parent... why not when props are smartparented together?)


maclean ( ) posted Fri, 14 March 2003 at 4:29 PM

Well, what dial-a-prop does is accesses different geometries in turn from the pp2 file. Jeff coded it to access the standard poser props already in your poser folder, and I suppose they are all loaded as you call them up. So it doesn't actually change the geometry. It just replaces it with a new one. What you would want to do is have one single obj file, and access different parts of it in turn. Right? If that's the case, then you need to look at Geom swapping, and I think daveH may be right. I don't know if anyone's done it from a prop. Although, I seem to have vague memories of les bentley doing something like that. Try looking at the archive for this forum. I'm sure there was a post about it in the last few months. mac


Luthoricas ( ) posted Fri, 14 March 2003 at 4:37 PM

Thanks again, mac. I'm off to search for 'les bentley' postings...


maclean ( ) posted Fri, 14 March 2003 at 4:58 PM

The best thing to do would be just to put everything into a cr2 figure. It's not that difficult to do and it would solve all your problems. Here's how. OK. You have these objects. arrow.obj : head1.obj >>> head5.obj. All you need to do is put them all in the poser window at once and export them. Go to Menu/File/Export/Wavefront OBJ and, in the hierarchy box that opens, make sure all your objects are checked. Click OK, give the obj a name and save it in a Geometries folder. In the last box, uncheck ALL options EXCEPT the first one. Check that first one and click ok. Now write a PHI file in notepad. Like this. objFile :Runtime:Geometries:yourfolder:yourname.obj 1 arrow yxz 2 head1 yxz 2 head2 yxz 2 head3 yxz 2 head4 yxz 2 head5 yxz Save this file with the extension .PHI, (anywhere you like), like arrow.PHI. What this does is tell poser where to find the obj, what body parts to look for, and what rotation order to use. The rotation order here is yxz which means that the 1st dial will be Yrot, then Xrot, then Zrot. This is the usual order for non-human figures, but it could be changed to xyz if necessary. 1 before a body part means it's a principal body part, parented only to the body. 2 means it's parented to a '1' body part. So here, you have all the heads parented to the arrow and they'll move with it. If you want nothing parented, change 2 to 1 and they'll all just be children of the body and move with it. Next, go to Menu/File/Open Hier file and find the PHI file. Poser will ask you to confirm the name (new set) and will automatically open the New Figures library. Nothing will appear in the window yet. Don't panic. Double-click on the New set and your arrow will appear. Resave it with your own name (in characters, remember). The only thing you need to do now is select each body part in turn, go to properties and uncheck 'bend'. This is essential. Otherwise, when you move the parts, they'll go mad. That's it really. There are things you can finesse. Like, if you have parented parts, the trans dials will be hidden, so you have to unhide them in the cr2. But see how you get on with this first. Important things. Export all parts. Check 1st option only. Store the obj in geometries. Make sure the PHI file names are the same as your 6 pieces. Uncheck bend. If you have to redo anything, go to the geometries folder first and delete the arrow.rsr (You'll need to close poser to do this). Let me know how it goes. mac


Luthoricas ( ) posted Fri, 14 March 2003 at 5:18 PM

Wow, major thanks, mac. I'll give this a try. Unfortunately, it's now time to leave and go pick up the kids from their after-school activities... Thanks again.


lesbentley ( ) posted Sun, 16 March 2003 at 9:53 PM

Attached Link: http://www.renderosity.com/messages.ez?ForumID=10139&Form.ShowMessage=1151294&Form.sess_id=5680330&

Re deleting 2 props at once, I think the thread linked above gives a partial answer.


ToolmakerSteve ( ) posted Wed, 26 March 2003 at 12:14 PM

Wow maclean - very informative! asp1vip - if for your use it would be more convenient to have 5 separate cr2 files, one for each arrow - just load the desired cr2 for the desired arrow - then it can be a tad simpler than mac's tour-de-force. Make a cr2 for the first arrow and its two parts - using PHI as suggested, or following some tutorial re setup room. Then make 5 copies of that cr2. Use text editor to replace "head1" with "head2", etc.


ToolmakerSteve ( ) posted Wed, 26 March 2003 at 12:17 PM

Oh - forgot to say that in this technique all six parts should be part of one obj - like mac described ...


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.