Thu, Oct 3, 12:25 PM CDT

Renderosity Forums / DAZ|Studio



Welcome to the DAZ|Studio Forum

Forum Moderators: wheatpenny Forum Coordinators: Guardian_Angel_671, Daddyo3d

DAZ|Studio F.A.Q (Last Updated: 2024 Oct 01 1:56 pm)



Subject: DS3: Prop 'goto' poses, 'smartparent' not working in DS (okay in Poser)


3dcheapskate ( ) posted Wed, 07 March 2012 at 12:27 AM · edited Mon, 23 September 2024 at 6:22 PM

Just created a bunch of simple PZ2 prop goto poses that position/orient a prop correctly for the right/left hand of various figures, and smartparent it to the appropriate hand. (Original Poser forum thread - Poser 6: 'Goto' poses for props?)

But in DS3 the smartparent doesn't work.

Nothing fancy, just setting smartparent, x/y/zRotate, and x/y/zTran like this:

{
version
    {
    number 6
    }
actor $CURRENT
    {
    smartparent lHand
    channels
        {
        rotateY yRotate
            {
            keys
                {
                static  0
                k  0  5.90536
                }
            }
        ...etc...
        translateZ zTran
            {
            keys
                {
                static  0
                k  0  0.0365292
                }
            }
        }
    }
}

I guess that DS doesn't know which figure you're trying to parent to? How do I fix this?

I've already created smartprops that load in the hand of the figure. But these prop goto poses are for use with props already in the scene.

(I've also done a PoserPython script that does the same thing, i.e. moves, orients and parents the prop, and I'm working on a similar DS pose script. But I'd like to get the basic PZ2 prop goto poses working in DS too)


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



Bejaymac ( ) posted Wed, 07 March 2012 at 4:53 AM

What your doing is trying to parent a prop to itself, so it's no wonder it doesn't work in DS, and tbh I'm surprised it even works in Poser.

In DS 'smartprops' only work at load time and only if you have the figure selected before you load the prop, if you load the prop without the figure selected all you get is a prop and you then have parent it manually, or if you can understand it, by writting a DS script to do the parenting.


RHaseltine ( ) posted Wed, 07 March 2012 at 9:09 AM

You could use a script to apply the pose and then parent the prop (or vice versa).


3dcheapskate ( ) posted Wed, 07 March 2012 at 7:56 PM · edited Wed, 07 March 2012 at 7:57 PM

Thanks - So the prop parenting via poses in DS is a definite no-go then. (Tried using one of my prop goto poses on a properly loaded smartprop to swap hands - even that doesn't work, parenting doesn't change).

Hmmm... if the parenting in my prop gotos is working in Poser by good luck rather than by design, then I shouldn't rely on it. But I'm loath to scrap them completely since they do seem to work just as I wanted in Poser 6. They definitely parent the prop correctly to the currently selected figure. If the currently selected figure doesn't have a rHand/lHand body part, then Poser seems to run through the figures in the scene in the order they were loaded and parent it to the first match it finds. Note: since the translations/orientations for each pose are for a specific hand of a specific character in its zero pose, the prop will only look right if the correct pose/figure-hand-zeropose combination is used.

Still, I already have a Python script that does the job for Poser, so maybe scrapping the prop goto poses and writing a DS-specific script as well is the way to go. Seems like I'm definitely going to have to get to grips with this DS scripting!


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



RHaseltine ( ) posted Thu, 08 March 2012 at 9:56 AM

Parenting via poses should work in Poser, there are commercial products that use it. The problem, as I nderstand it, is that DS imports and converts Poser content, and in general that limits its ability to have an imported item affect or be affected by another (such as prop parenting) that is already in the scene.


3dcheapskate ( ) posted Fri, 16 March 2012 at 8:58 AM

Okay, I've now got to the difficult bit with the DS script - parenting the prop.

Looks like I should be using DzNode::addNodeChild(). But I'd need to find the correct figure/skeleton/node first - DzScene::getNodeList() or DzScene::getSkeletonList seem to be where I should start the search...

(Since this is going off-topic from the original thread, I should probably start a new thread for this, maybe over on the Developer Discussion forum on the DAZ site?)


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



RHaseltine ( ) posted Fri, 16 March 2012 at 11:06 AM

Well, presumably the correct skeleton would be selected so you could use getSelectedNodeList() or getSelectedSkeletonList() to shorten the task. If you use the node list you can use the inherits function to discard stuff you don't want: if ( node.inherits( "DzBone" ) || node.inherits( "DzSkeleton" ) { // do stuff } will make sure you don't act on the wrong thing.


3dcheapskate ( ) posted Sat, 17 March 2012 at 1:36 AM · edited Sat, 17 March 2012 at 1:37 AM

Thanks, I've now got a somewhat haphazard and rather lashed-together DS script - but it works! Positions, orients, and parents my prop correctly to a zeroed Apollo Maximus. It needs lots of tidying up and expansion, but I think I can now safely abandon the prop goto poses.


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate ( ) posted Thu, 22 March 2012 at 2:18 AM

Note to self - don't abandon the prop goto poses! They might not work in DAZ Studio, but they work beautifully in Poser 6. The figure doesn't have to be zeroed - as long as the position/orientation/smartparent are correctly set for the zeroed figure, then they'll work regardless of the figure's current pose.


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



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.