I’ve come up with some makeshift fixes for this kind of issue, and I’m just wondering what’s really the best way to go about it; not necessarily looking to get deep into the intricacies of the logic and/or code (be running armatures with python, because I swing that way), just want to know how other people deal with it.
Let’s say for instance, on running or walking towards a wall we want our character to rotate approximately one hundred and eighty degrees in the zed axes so that their back touches said wall, for taking cover, walking over a ledge or doing stealthy metal gear/tenchu-like stuff. We can’t just play pose one to pose two back-to-back, because it’ll either not look smooth enough or get the armature very confused and twisting in impossible ways.
What I’d usually do in this situation is think of it as a three-part action sandwich, played in sequence: the action that was playing at the time the sequence triggers --> a transition where I do the rotation --> and then an idle loop where the character’s back is always against the wall. I’ll refer to this sequence as A --> B --> C.
My solution is, and has been for some time, putting A on lowest layer, then stacking B on top of it so that I can utilize action blending and layer weight, and then C on top of it all. Sometimes, if I’m getting funky with the controlling cube’s world position (like when climbing up walls), I’ll skip the whole layering and blending steps and just make A, B and C fit together perfectly in sequence, by copying and pasting the last pose of A into the first pose of B, and then skipping it so that I don’t play the same frame twice.
Just how sane is this approach? Is there a simpler solution I’m not considering? I’d really like to know other methods, it’s been next to impossible finding much mention of this topic.