Virtual Puppeteering

One of the core features of Ascension VR is the social aspect of gaming: it’s fun to hang out and play with your friends! So it was critical for us to animate the in-game avatars to match the players’ movements. We needed to create a scheme for animating the characters to represent you, the player, and all your real-world motions, in order to achieve the feeling that the people you’re playing with are really ‘there.’

To achieve this I created animations to represent the full range of motion for each axis of rotation:
templarXrot_crop_pingpong templarYrot_crop.gif_pingpong templarZrot_crop_pingpong

Additionally, I used animations to compensate for movement in the X (left/right) and Y (forward/backward) axes:
templarXtrans_pingpong templarYtrans_pingpong

Since the character has a wide stance in his idle pose, he can sutbly shift his weight forward/backward and still appear balanced.

Taking in tracking data from the headset, these animations are all blended additively in real-time on top of an idle animation:


As Ascension VR is a social game, you’ll be chatting a lot during the game. To give context to “who’s speaking”, we use spatialized audio so that the sound comes directionally from the talking player. Additionally, we created a generic talk loop that activates whenever you speak:

And finally, when you look down…templarself

Together, all these elements combine to convey your presence in VR like never before!