How to handle high heel footwear in Unity characters/rigs?

I am in the process of designing my female base character, the male is already done. I’ve come to a point where I need to decide how different types of footwear chosen by a player will effect the in game character rig. At the moment I am using a morph which changes the lower legs from a flat-footed to heel-up position. The good thing about this is that I can apply the same animations to both since the rig itself is not changed at all. The bad thing is that the character is the same height whether wearing heels or not, and if you look close enough you can notice that the lower legs (from the knee down) are shorter when heels are being worn.

The only other way of doing this I can think of is having two separate rigs; a flat-footed rig and a heel-up rig. This seems a little overkill though since the rig would have to be changed out whenever the player decides to change footwear. I am also guessing that both rigs would need to use different sets of animations because the heel-up rig would have extra ankle and toe rotation on the x axis. It also isn’t very flexible since two rigs would only allow for two height variations of the feet, when in fact there may be many variations in heel size/height.

Is there a better way to do this? I must be missing something.

High Heeled Foot vs Flat Shoe Foot:

6520-heels1.png

You can move the transforms within the rig with the exception of the root - this is the only thing the animation actually changes the position of - everything else is rotations (at least presuming the animation is that of a skeleton where bones do not stretch)

So here is an example using a mixamo rig where I’ve just extended the spine by moving just the spine transform in my rig upwards - all of the animations are playing fine on this character:

[6515-screen+shot+2013-01-09+at+05.39.28.png|6515]

Obviously if the root bone is the hips then you might have to compensate by moving the character itself physically upwards to accommodate the height of the footwear → apply your morph mod and offset the ankle transform downwards by the same amount as you moved the character upwards

Ok, after some further discussion with others and studying of my own I think I’ve found a solution for this.

This first part involves creating a separate animation with only the required foot bones being rotated into the “high heel position”. Using Body Masks this animation can then be applied over the top of all existing animations (walk, run, jump etc) to add the extra foot rotation of a foot in high heels. The next step is to to adjust the rig position, and collider size and height to ensure that the rig’s feet now are not going through the ground with their extra rotation. This creates a flexible solution which allows the same animations to be used. Let me know if you would like more details about this.