Forum: Poser - OFFICIAL


Subject: Figure rigging question

Michael_C opened this issue on Dec 27, 2012 · 13 posts


lesbentley posted Sun, 30 December 2012 at 3:21 PM

> Quote - The relationship between x and z is simple trig...

To the mathematically challenged (eg, me), the words "simple" and "trig", have no place in the same sentence. If you are good at trigonometry, you can ignore the rest of this post. But for those who can't tell the difference between trigonometry and Sanskrit, read on.

I prefer to find the correct ratio empirically by using an adjustable ration and eye-balling it. The attached figure demonstrates the setup I use to determine the ratio.

In cube B, the ytran is slaved to xtran at one to one. Thus when the xTran dial is spun, the cube moves at 45 degrees to the horizontal. In the BODY is a channel named 'TMP', it multiplies the amount of ytran by the value on its dial. Thus with the dial set to 1.0 there is a ratio of 1:1, and with the dial at zero there is no ytran. This means that when I find the correct ratio by adjusting the TMP dial, the value on the dial is the value that needs to be used in the deltaAddDelta line of the slaving code. The code in the slave channel (ytran) is like this:

        translateY yTran
            {
            name ytran
            initValue 0
            hidden 0
            enabled 1
            forceLimits 0
            min -100000
            max 100000
            trackingScale 0.001
            keys
                {
                static  0
                k  0  0
                }
            interpStyleLocked 0

            valueOpDeltaAdd
                Figure 1
                B:1
                xTran
            deltaAddDelta 1.000000

            valueOpTimes
                Figure 1
                BODY:1
                TMP

            trackingScaleMult 1.000000
            }
I have the cr2 open in a text editor or cr2 editor. In Poser, when I find the correct ratio, I click on the numeric field of the TMP dial, Copy the value, and Paste it into deltaAddDelta line in the text editor. I then Cut valueOpTimes block of slaving code and Paste it into the next channel I need to determine the ratio for. When I have determined the ration for all necessary channels I Delete the TMP channel from the BODY. Here is what the TMP channel in the BODY looks like:

        valueParm TMP
            {
            name TMP
            initValue 1
            hidden 0
            forceLimits 1
            min -100000
            max 100000
            trackingScale 0.010
            keys
                {
                static  0
                k  0  1
                }
            interpStyleLocked 0
            }

P.S. The cubes in the attached cr2 are props parented to a BODY actor.