DevBlog 4: Self Aware Characters: Starting IK
In order to better situate Faye with the game world, I've begun exploring Invese Kinematics within Unity 5. To give note, the way I animate within the Blender environment is already largely IK Based. For the unfamiliar, Inverse Kinematics moves from extremity to base. The chain would go Right Shoulder > Right Upperarm > Right Forearm > Right Hand. Using IK, moving the hand would then have influence on the forearm and upperarm, just as would be the case in real life. The location the joints would bend towards is then set by a pole/hint target.
In the example above, Faye's forearm.L, UpperArm.L, and Hand.L, bone positions, are dictated by the position of her ArmIK.L bone, and their rotations (at her elbow) will be dictated by the position of he Elbow.L target. As the joints are all connected, they'll rotate as they they can manage to fit. Now in Unity, we want to access the her bones again. By doing this, we can do several things that help keep the illusion of situation within space. We can set her feet to always sit flat on the floor when they touch, set it so her hands no where to sit when they touch or rest on another object, and set the direction she looks with her body, all without negatively effecting her base animations. By doing this we can make Faye fore aware of her surroundings - she can look at points she knows she can interact with to hint at the player for instance. At this point, my use of IK within Unity is not perfected, but as my understanding of Unity 5 IK works, I'll post here.
In the example above, IK is not used on the left, but is used on the right. Note her foot positions and body language.