How can I create shadows under a levitating character, when the distance between the character and the ground sometimes changes?
You could use a second character, bind him to the player's x,y coordinates and change his appearance depending on the player's z-position.