Forum: Poser - OFFICIAL


Subject: Help with "bones" :)

Acadia opened this issue on Sep 17, 2007 · 238 posts


kuroyume0161 posted Mon, 17 September 2007 at 10:08 PM

As ockham says.

Also, you'll need to decide where you want your origin on each ring as it will determine how they rotate with respect to each other.  One place would be at the point where the two rings touch so that rotation keeps them touching - otherwise the rings pass through each other or no longer remain connected.  A better place would be to center the origin of the current ring with the 'previous' ring (the parent) so that the ring rotates around the 'previous' ring.  This is how I rigged a key chain with keys.  The keys' origins are centered on the ring center.

The situation is that you may need some way to change the origin for different rotations.  For instance, the ring center is good for the rotation axis perpendicular to the ring.  But what about the other two rotation axes?  The axis of rotation that twists the ring with respect to the other might suffice at the center but the last axis will rotate away no matter what.  Illustratively, lets say that the ring profile is on the XY plane.  The Z rotation will rotate the links to bend the chain as you desired. The X rotation will twist the links. The Y rotation will rotation them away from each other and would require a rotation center (origin) like the first place (the point where the two rings touch).  I'm not sure how to work that - as the origin is set on a JP basis and not a rotation axis basis.

Basically, a chain link like this will be a body part hierarchy like this:

Chain0
..Chain1
....Chain2
......Chain3
...
............ChainN

So, here 'previous' ring for Chain3 means Chain2. :)

C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, you blow your whole leg off.

 -- Bjarne Stroustrup

Contact Me | Kuroyume's DevelopmentZone