[TUTORIAL] Super-easy VR body with arm IK and thumbstick locomotion [with download]

I usually don’t cross-post my tutorials here, but I thought I will make an exception for this one since some of you asked about it. Here is a super-easy way to get yourself a full VR body, including arm inverse kinematic (requires motion controllers) and thumbstick based locomotion.

It is based off the Third Person template which, surprisingly enough, already contains some VR related functionalities. I am developing with the Oculus, but it should work as is also with the Vive (in case of problems please let me know).

Definitely it can still be improved, so happy to see what others are able to do using it as a starting point. Have fun!

I recommend everyone to follow the tutorial, but in case you don’t feel like doing so, here is the finished project: VR_ArmIK.zip - Google Drive

5 Likes

Hi vr_marco,

Thanks for this tutorial, looks really good and very easy!

Currently, you are using thumbsticks to control the character - what if the player wants to move around in the “real world”. Let’s say I want to implement the full VR body to a game where the user moves around by teleporting and/or moving in the real world. Will this work with this vr body?

Anyway, great work! Keep it up and thank you :slight_smile:

Good question. Short answer is no. To keep it simple, currently this is designed like a seated experience. If you move in real world you will find yourself “out” of your virtual body and will have to re-center to get back into it.

This said, it is possible to handle movements in real world by checking on Event Tick if the VR Camera is offset respect to a reference point on the Skeletal Mesh and then adjusting the VR Origin to re-align them. When doing so, one also needs to consider potential collisions with walls/props, which makes it more complicated but definitely not impossible.

If you feel like it, you can give it a try and share back your results with the community.

Check out this forum, https://forums.unrealengine.com/development-discussion/vr-ar-development/89050-vr-expansion-plugin.

It has what you want and the best part is its all replicated. Works really well with this tutorial.

Cool! Which one of Mordentrals’ VR characters did you use for that, the VR Simple Character Actor? I was going to implement grabbing a weapon and firing it as next steps, did you already do that as well?

I use VRCharacter. I haven’t tried any object interaction yet but it is fun hugging friends in VR.

Ciao Marco, ho eseguito tutti i passaggi ma ho un piccolo problema. Ogni volta che mi sposto in una direzione fa uno scatto verso sinistra (appena muovo il thumbstick perché dopo è uniforme). Quale potrebbe essere il problema? Grazie infinite!!!

Ti ho risposto su YouTube. Sembra un problema di collisioni.

Is it possible to use the vr hands along with the IK third person character?

I’d love to be able to grab, point etc with the motion controller bp/ touch controllers…

Even choose to teleport the third person character… from the VR perspective

Might it be possible to edit the vr template to include IK arms and body coupled to the already existing vr hands ? Motion controller BP?

it is easier to add animations to the hands of the full body. Look up additive animations in UE4.

hi you’re tuto dont work for me, but why?? camera is not on my head in VR

Did you parent the camera to the right bone?
Did you recenter in VR?

write here is better, yes fot head and who recenter VR ? i use oculus rift and touch

i would like make elevator in VR but elevator don’t work

motioncontroller pawn don’t move, cabin work, he’s up not me

I was able to put this together with Mordentral’s plugin and a custom model really easily. Thanks, you did a great job figuring this out.

How did you go about doing that? I’m basically trying to add a skeletal mesh a subclass of the VRCharacter C++ class in that plugin. I have my skeletal mesh attached to an inherited vr replicated camera, so I don’t think I can get the same parenting behavior to work.