Tue, Nov 19, 9:13 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: Mat Pose Files and Props


Khai ( ) posted Wed, 22 December 2004 at 4:19 PM · edited Tue, 19 November 2024 at 7:22 AM

hiya all I (dimly) remember something about multi loading props with a matpose file.. I've got about 50 small props to load in on a figure, (2 groups of 25 for example).. I want to be able to load them in as the 2 groups. how would one do this? (I want to avoid loading them 1 by 1 you see on the finished figure - they have to be props, there's no other way to get the effect I'm working towards) thanks!


jupiterkris ( ) posted Thu, 23 December 2004 at 4:52 AM

Save a prop to library .
Use select subset option, select the props .
Save as smart prop .


Khai ( ) posted Thu, 23 December 2004 at 6:28 AM

that'll work for 160 props? (I did the math)


Khai ( ) posted Thu, 23 December 2004 at 6:44 AM

oops sorry should have said. they are 160 seperate props, parented to various locations all linked in certain important ways... I'll try that, but I thought they had to be linked to each other to make the subset?


jupiterkris ( ) posted Thu, 23 December 2004 at 7:31 AM · edited Thu, 23 December 2004 at 7:36 AM

If you do run out of RAM ...
Alternatively, first save out your props in smaller groups as smart props and
Use readscript directives in your base figure's cr2 to read in the pp2s during loading ...

*{
version
{
number 5.01
}
// ... insert readscript directives after version segment
readScript ":Runtime:libraries:props:myprop:propgrp_1.pp2"
readScript ":Runtime:libraries:props:myprop:propgrp_2.pp2"
readScript ":Runtime:libraries:props:myprop:propgrp_3.pp2"
// ... and so on

}*

Message edited on: 12/23/2004 07:36


jupiterkris ( ) posted Thu, 23 December 2004 at 11:44 AM

Or else a simple PP loader script ...

import poser
scene = poser.Scene()
scene.LoadLibraryFigure(":Runtime:libraries:character:myfigure:figure_1.cr2")
scene.LoadLibraryProp(":Runtime:libraries:props:myprop:propgrp_1.pp2")

change path delimiters from ':' to '' for Windows(PC)

scene.DrawAll()


a loader module for a list of figures and props ...

-- modify basepath and filelist here

basepath = ":Runtime:libraries:"
filelist = ["character:myfigure:figure_1.cr2",
"character:myfigure:figure_2.cr2",
"props:myprop:prop_1.pp2",
"props:myprop:prop_2.pp2",
]

import poser, string, sys
ptf=sys.platform
fCh = ':'
if (string.find(ptf, 'win') != -1) :
fCh = 'r'
rCh = ':'
if (string.find(ptf, 'win') != -1) :
rCh = 'r'
scene = poser.Scene()
for i in range(filelist) :
subpath = filelist [i]
iteraddress = basepath + subpath
ext = iteraddress [len(iteraddress)-4:len(iteraddress)-1]
iteraddress = string.replace(iteraddress, fCh, rCh)
if (string.lower(ext) == 'cr2') :
scene.LoadLibraryFigure(iteraddress)
if (string.lower(ext) == 'pp2') :
scene.LoadLibraryProp(iteraddress)
scene.DrawAll()


a loader module for serialised figures or props ...

-- modify baseaddress and iterations here

baseaddress = ":Runtime:libraries:props:myprop:prop_1.pp2"
iterations = 160

import poser, string, os, sys
scene = poser.Scene()
ptf=sys.platform
fCh = ':'
if (string.find(ptf, 'win') != -1) :
fCh = 'r'
rCh = ':'
if (string.find(ptf, 'win') != -1) :
rCh = 'r'
baseaddress = string.replace(baseaddress, fCh, rCh)
(figpath, figfile) = os.path.split(baseaddress)
ext = figfile[:len(figfile)-4:len(figfile)-1]
for i in range(iterations):
iteraddress = figpath + figfile[:len(figfile)-2] + str(i+1) + figfile[len(figfile)-5:len(figfile)-1]
if (string.lower(ext) == 'cr2') :
scene.LoadLibraryFigure(iteraddress)
if (string.lower(ext) == 'pp2') :
scene.LoadLibraryProp(iteraddress)
scene.DrawAll()

... sorry, scripts are untested


lesbentley ( ) posted Thu, 23 December 2004 at 7:04 PM

Perhaps you are using P4, or for some reason the Python scripts don't work. I that case, this is how I would do it. Load the target figure into Poser. Zero all translations and rotations of the hip and Body. Zero the figure in the Joint Editor. Position the props in the desired location relitive to the figure. Save the props using Select Subset'. Note that you can't save as a smartprop when using select subset, you will have to add that manually in a text editor. Open the pp2 you created in a text editor. Do a case sensitive 'Search & Replace' of all instances of 'parent' with 'smartparent'. At the moment the smartparent for all props will be 'UNIVERSE', so you will have to do another search for 'smartparent' and type in the names of the actors that the props should be smartparented to.


an0malaus ( ) posted Tue, 11 January 2005 at 7:18 AM

[bookmark]



My ShareCG Stuff

Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.


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.