Forum: Poser - OFFICIAL


Subject: Prop/Morph/Dials/Pivot

Inception8 opened this issue on May 28, 2009 · 19 posts


lesbentley posted Fri, 29 May 2009 at 6:09 AM

Here is how I would do it. First make sure Poser is set to use Poser Units in General Preferences.

Load G4, turn off IK, zero her in the Joint editor, make sure the translations and rotations of the BODY and hip are zero. Load the earrings.

Translate the right earring so that it is in the correct position relative to G4's ear. If necessary also use the rotate dials to get a good fit.

Note down the new values of any dials you have changed, e.g:

yRotate 20
xTran -0.010
yTran -0.064
zTran -0.027

Open the pp2 containing the right earring. Find the actor for the right earring. Place this slaving code in each channel  which you changed the dial value for:

                        valueOpDeltaAdd
                                _NO_FIG_
                                <span style="color:rgb(255,153,0);">NameOfActor</span>
                                FitG4
                        deltaAddDelta <span style="color:rgb(255,153,0);">#</span>

Replace "NameOfActor" in the above code with the internal name of the earring prop, e.g. "Ring_R". Now replact the "#" in the code for each channel with the value you noted down earlier for that channel. So that, for example, the translateX channel might look like this:

                translateX xTran
                        {
                        name xtran
                        initValue 0
                        hidden 0
                        forceLimits 0
                        min -100000
                        max 100000
                        trackingScale 0.001
                        keys
                                {
                                static  0
                                k  0  0
                                }
                        interpStyleLocked 0
<span style="color:rgb(255,153,0);">                 valueOpDeltaAdd<br></br>                           _NO_FIG_<br></br>                          Ring_R<br></br>                            FitG4<br></br>                     deltaAddDelta -0.010</span>
                        }

After setting the appropriate values in each block of slaving code, add this valueParm channel to the top of the channel stack: valueParm Fit_01 { name FitG4 initValue 0 hidden 0 forceLimits 1 min 0 max 1 trackingScale 1 keys { static 0 k 0 0 } interpStyleLocked 0 }

Do the same procedure for the left earring. With the left earring you have a choice. You can create a new valueParm channel for the left ear and slave the translate channels in the left ear to that, or you can slave the channels in the left ear to the valueParm channel in the right ear, so that you only have one dial to adjust to make the rings fit. If both rings are part of the same obj file, then instead of using xTran, you will have to use xScale to adjust the side-side position of the rings, slaving the xScale channel to the valueParm. Because a value of "100%" on the scale dial is equal to a value of "1.000" in the scale channel, you will need to move the decimal point two spaces to the left form the value you noted on the dial, when placing it in the 'deltaAddDelta' line of a scale channel.

Attached above is an example containing one earring. The smart prop is made to fit V4.2, the "Fit_Girl" dial makes it fit "The Girl", the original Girl, not G4 which I don't have. Drop the ".TXT" part of the file extension and save it to a props pallet.