when you go up the character in the viewport gets rotated 45 degrees so its facing away and then when you go down its facing towards
but when it goes sideways i think that rotation effect can be done by putting the viewport in a surfacegui on both sides of a part and then rotating the part
and to play walking animations in a viewport it has to be in a worldmodel