• Welcome to the Community Forums at HiveWire 3D! Please note that the user name you choose for our forum will be displayed to the public. Our store was closed as January 4, 2021. You can find HiveWire 3D and Lisa's Botanicals products, as well as many of our Contributing Artists, at Renderosity. This thread lists where many are now selling their products. Renderosity is generously putting products which were purchased at HiveWire 3D and are now sold at their store into customer accounts by gifting them. This is not an overnight process so please be patient, if you have already emailed them about this. If you have NOT emailed them, please see the 2nd post in this thread for instructions on what you need to do

Multiple cr2

3WC

Engaged
Contributing Artist
Anyone know if it is possible to make a cr2 file that basically just loads several other cr2's? Kind of like a wearable preset in DS. I know it is possible to just lump all the cr2 figures together in one file, but I am looking for more of a link type arrangement, where you would just say, for example,

figureReadFile :Runtime:Another.cr2
figureReadFile :Runtime:Andanother.cr2

But I don't know the exact syntax for that, or even if it is possible.
 

phdubrov

Noteworthy
Contributing Artist
As far as I know, only via script.
in pp2 or cr2 runs script in the same dir
Code:
{
    version
    {
        number 6
        runPythonScript "loadall.py"
    }
}
in loadall.py
Code:
import poser, os
scene = poser.Scene()
conformTo = scene.CurrentFigure()
scene.LoadLibraryFigure("get curent dir+item1.cr2")
item1 = scene.CurrentFigure()
item1.SetConformTarget(conformTo)
...
 

Miss B

Drawing Life 1 Pixel at a Time
CV-BEE
Very interesting PHD, as I always thought the only way to load a group of items was to save as a .pz3 scene, and then just reload the scene whenever needed. Hmmmm, this could come in handy. ~scribbles notes~
 

phdubrov

Noteworthy
Contributing Artist
Oh yes, totaly forgot! In P11 pro we can export partial scenes, but it will be like scene subset, not like wearable.
 

phdubrov

Noteworthy
Contributing Artist
And checked now, we can simply write
LoadLibraryFigure("item1.cr2") if all items in same dir with script.
So simple
Code:
import poser
scene = poser.Scene()
conformTo = scene.CurrentFigure()
scene.LoadLibraryFigure("Dress for Add-on.cr2")
dress = scene.CurrentFigure()
dress.SetConformTarget(conformTo)
works like charm.
 

3WC

Engaged
Contributing Artist
And checked now, we can simply write
LoadLibraryFigure("item1.cr2") if all items in same dir with script.
So simple
Code:
import poser
scene = poser.Scene()
conformTo = scene.CurrentFigure()
scene.LoadLibraryFigure("Dress for Add-on.cr2")
dress = scene.CurrentFigure()
dress.SetConformTarget(conformTo)
works like charm.

Awesome, it does work. I was able to get it so that two items are loaded and conformed to Dawn, and another item is loaded and conforms to one of the other items. But how would I load still another figure and have it parented to a specific node?
 

Miss B

Drawing Life 1 Pixel at a Time
CV-BEE
Oh yes, totaly forgot! In P11 pro we can export partial scenes, but it will be like scene subset, not like wearable.
Ahhh OK. I guess I didn't read enough of the comments to realize you were talking about wearable/clothing objects. I was thinking more along separate items that comprise an object you would use in a scene, like say a table and chairs of a dining room set.

And checked now, we can simply write
LoadLibraryFigure("item1.cr2") if all items in same dir with script.
So simple
Code:
import poser
scene = poser.Scene()
conformTo = scene.CurrentFigure()
scene.LoadLibraryFigure("Dress for Add-on.cr2")
dress = scene.CurrentFigure()
dress.SetConformTarget(conformTo)
works like charm.
OK, adjusting my notes. ;)
 

3WC

Engaged
Contributing Artist
Thanks for all your help, I got it to work!
If only everything were that simple!
 

Gadget Girl

Extraordinary
Contributing Artist
Just saw this, and glad you got it to work. I was actually going to say you should be able to look at the HWHorseLoadAll for an example, but I actually opened up and looked at that file, and it seems to be a combined version of all the .cr2s, and not a script like I always assumed it was. I'm actually wondering now, if this is why when I add a breed, it often doesn't apply to the main/tail/fetlocks the first time, but I have to double check the conforming?
 

3WC

Engaged
Contributing Artist
I don't yet have the HW Horse, so couldn't check it. Some files that I looked at were combinations of props and figures, but everything was included/ specified within the file. It makes so much more sense to me to just be able to link to/ load an existing file. Especially while creating content, then if you change anything in the files, you don't have to completely change your "LoadAll" file too.
 

Gadget Girl

Extraordinary
Contributing Artist
I don't yet have the HW Horse, so couldn't check it. Some files that I looked at were combinations of props and figures, but everything was included/ specified within the file. It makes so much more sense to me to just be able to link to/ load an existing file. Especially while creating content, then if you change anything in the files, you don't have to completely change your "LoadAll" file too.

Yes I think the script to load them all is probably the better way to go. It can let you do a lot more. Just one thing to be aware of is that the script does phdubrov posted does rely on the correct figure being selected. So if someone has a tree and Dawn in the scene, and they run the script with the tree selected instead of Dawn, odd things may happen.
 

3WC

Engaged
Contributing Artist
the script does phdubrov posted does rely on the correct figure being selected. So if someone has a tree and Dawn in the scene, and they run the script with the tree selected instead of Dawn, odd things may happen.
I actually removed that variable and just specified
Dawn = scene.Figure(Dawn)
 

phdubrov

Noteworthy
Contributing Artist
@Gadget Girl
Nothing odd. Just clothes on the tree :) Maybe. If we are lucky :)

@3wComics not shure if it good idea. If 2 Dawns in the scene? I think there should be internal name or geometry filename checking.
 

3WC

Engaged
Contributing Artist
Any new Dawn added to the scene is automatically renamed, eg Dawn 1, Dawn 2, etc. So outfit is conformed to first Dawn in the scene. That is a problem, though, if you want to clothe multiple Dawns. It will just put another outfit on the first Dawn no matter who is selected. So maybe I should put that variable back and folks will just have to have the proper Dawn selected.
 

Gadget Girl

Extraordinary
Contributing Artist
Nothing odd. Just clothes on the tree :) Maybe. If we are lucky :)

I guess it depends on your opinion of clothes on a tree ;)

So maybe I should put that variable back and folks will just have to have the proper Dawn selected.

Yeah, that's the nice thing about the CurrentFigure() line. It means that if there are multiple figures, the user can select the one they want, but also, if someone where trying to use it with another figure, they could do that as well.
 

phdubrov

Noteworthy
Contributing Artist
More complicated, but IMHO right way will be check via <Figure>GeomFileName if it is Dawn, and if not, fire modal dialog along the line "FigureName is not Dawn! Are you shure..."
 

3WC

Engaged
Contributing Artist
I have it working well as long as Dawn is selected. And if there is a second or third Dawn in the scene, if they are selected the script works fine on them also.

I have been investigating throwing up a message if the current figure is not Dawn, but I'm not real sure about the syntax for that. Does python just use if/else statements?
if InternalName.currentFigure [does not =] {not sure how to express that} "Dawn":
print "Whoa there partner!"

I've looked in the manual but can't find anything much about that.

Though I think the script will be fine as it is now. Most people know enough that they will have the figure selected before they load clothing. If not, they will get weird results and try again. But I do have fun messing with scripts. :)
 

Ghostman

Adventurous
Contributing Artist
One option that I use alot is to just ctr-click several items in the library and drag and drop onto the figure I want to wear it and it will load and conform everything at once on that figure.
 
Top