In general, the problems all occur if you rotate and translate a figure by the wrong axes in the wrong body parts.
The rules to follow are quite simple but they must be heeded, otherwise there's trouble ahead.
Sure it won't matter much for a one-off pose in a single render. But if the pose is part of a series, or worse, an animation sequence, the problems will add up until the figure becomes totally uncontrollable.
To demonstrate this to you, here's a practical example:
Imagine you're rendering a story, so for each single stage set, you probably use the previous frame, move the figures to different positions, and turn them around to face in another direction.
The reference pose: "SASHA Library/Pose/SASHA-16 POSES/Lying/ly 0046 DEMO"
To release Sasha's "safety catches", set the following in the BODY actor, "SPECIAL SASHA CONTROLS":
• Allow Hip yRotation : 1.000
$bull; Allow Hip Horizontal Translation : 1.000
Load SASHA, and apply the demo pose on the "all zero" figure. This is how it should look, and how the pose was designed.
Before you apply the demo pose, you decide that the figure should rather face to the left. Now intentionally make the common mistake #1, and rotate the figure by -90° in the *hip* yRotate. Then a apply the demo pose. Oh-oh! The turn to the left was reset, and the y-axis orientation is exactly as in the reference pose...
Now zero the figure again, and proceed with
Before you apply the demo pose, you do it right this time and rotate the figure by the *BODY* yRotate, -90° again. Then apply the demo pose. See the difference?
Counter Check:
Try to turn your figure in place, using the *BODY* yRotate, and then the *hip* yRotate.
Rhethorical question: Which method does the job, and which one is crap?
- CONCLUSION Test series #1:
What you've encountered here is called "Gimbal Lock" and it's a much dreaded problem in 3D coordinate systems.
You can only avoid it partially if you heed "Iron Rule" #1:
• NEVER change the general y-axis orientation of a figure by the hip: use the BODY actor only!
Zero Sasha again and apply the demo pose.
This time we want to place her on a comfy sofa, over there, about a metre away to the right.
You can load the sofa into your scene from "SASHA Library / Props Library / Aleks Props / DEMO Sofa". It's posed in an orientation that will fit the figure's pose and at the same z-axis offset to facilitate this testing.
But it is offset to the side
Switch to your "Front Camera" and move your figure into place on the sofa by dragging it by the *hip* actor. This is what most people instinctively do.
Et voilà, you've made the common mistake #2!
"-Non!" "-Si!" "-Ohhh!" (courtesy the immortal Louis de Funès, sorry to digress)
You ask: "Why is this wrong? It's simple, and it works!"
I answer: "Yes it works, on first glance at least. But behind your back the "3D logistics" firm has just dumped a lorry-load of problems". You'll only discover them when it's too late.
By now you might have noticed that SASHA is facing the wrong way: instead of looking at you, she's turning her back on you and staring at the sofa's backrest.
"So we only need to turn her around by 180°; simple"
Is it? Go and try, and good luck!
• Trying to rotate the figure by it's BODY yRotate dials will immediately let the figure fly away from it's present position. Not quite the result you want.
• Trying to rotate the figure by the hip's x, y, z rotations will run you into trouble even deeper because now every hip rotation must be adapted until you ever get near to the original pose again.
Quite annoying.
Before the next test, ZERO Sasha, the reapply the Demo Pose to have a clean restart.
- Set "Allow Hip Horizontqal Translation" to 0.000.
Switch to the front camera again and use the Body's "Figure Circle" or the Body's x and z dials and the hip's vertical translation (yTranslate) to move your figure into place.
With the figure circle and by grabbing the hip you can do all this with the mouse, without even touching any of the dials.
However, you'll notice that Sasha is again looking in the wrong direction when on the sofa.
"So we only need to turn her around by 180°; simple"
And this time, it *IS* simple:
Rotate her BODY be the yRotate dial until she is looking at you. Her body will rotate on the spot. Just a tad adjustment on the BODY's x axis and that's it.
Problem solved!
- CONCLUSION Test series #1:
What you've encountered here is called "Actor Offset" and it can create a lot of bad surprises.
So the best choice is to avoid it by all means.
You must heed "Iron Rule" #2:
• NEVER move the *hip* by it's x and Z axis! Use the BODY dials to move your figure about in the scene! Always!
The ONLY way allowed to translate the hip is by the y axis! Always!
• To MOVE the figure along the X or Z axis, ONLY use the BODY translations.
• To ROTATE the figure along the y axis (e.g. turn it on the spot), ONLY use the BODY yRotate dial.
To *rotate* the HIP for a pose, FIRST try to achieve the pose with the xRotate and zRotate dials ONLY.
If it's needed, use the hip yRotate dial as sparingly as possible and only _last in the pose order_!
If your figure isn't facing in the direction desired, don't bother! Finish the pose, and then use the BODY yRotate dial to turn it around.
If you want your figure to be at a certain height above the ground:
First FINISH your pose and then drop the figure to the ground (CTRL-D). Now use the hip's yTranslate dial to move it to the desired "altitude".
HINT:
If the problem persists that the figure always "drops to floor" by eiter hovering above, or sinking into the ground, you could try the "Drop To Floor Adjust" dial in the hip actor:
It sets a permanent offset which isn' affected by any poses which contain hip Y-Translation.
It's also very helpful on other occasions.