Animating Virtual Characters