UVRF is ‘hand presence’ cross platform template including hands that are properly placed in space (per platform), properly animated, allows interaction with objects including UI elements and locomotion. UVRF is what we use internally at iNFINITE Production, we’ve completed many projects using this framework. Ensuring it’s both production ready and feature rich.
I’ve managed to squeeze some time to get this out, including documentation and 2 tutorials to get you started. Shout out to Mr_Squarepeg who went to ask in Machizzle discord if it’s ever coming, making me realize there are still people who want this. Anyway enjoy and if you’d like to support us, please check our upcomming VR game Machizzle. I’m not sure if I’ll be able to support this in the future, as all my attempts to get any basic funding or even support for this project failed, so this might be the final update. But enjoy. Feel free to strip it by any functionality you might like or hacks.
The object you’re about to grab can become highlighted, which is useful when there are multiple small objects around and who want to know which one to pick. This is done as post process effect using custom stencil, so you need to have custom depth and stencil enabled, you need to add highlight material to your post process volume. This is also completely optional, if you don’t want this simply set HighlightGrabs bool in HandBP to false.
Oculus Dash support
Oculus Dash and life cycle handling should be fully supported, the hands will completely dissappear and you cannot interact anyhow with the world when Dash is up. If you don’t have Oculus VR plugin enabled, you’re likely to seem compilation errorr, simply delete the problematic code. It seems like I’ll be turning UVRF into a plugin to allow integration with things like gloves, so I’ll wrap those platform specific functions into my own, so you don’t have to worry about platforms at all.
Ingame controller (Touch only)
Also using menu button on Oculus Touch, you can now see the controller model in VR, and see your hand relation to it and grabbed object relation to it. Touch controller model is licensed under Oculus SDK license, so it’s the only part of the demo that’s not CC0. Full text of the license can be found ‘\Content\Framework\Controllers\Touch’.
Oculus Dash Support
Added ClearGrab, when object can no longer be grabbed
Added GrabObject function to HandBP, so object can be grabbed as reaction to some ingame event (like changing objects in hand)
Grab now looks for closest object to grab, which is useful when there are multiple small objects around
Highlights the object that is about to be grabbed, this is optional
Touch controller model added, with permission from Oculus. The model remains under Oculus SDK License (included in Touch controller root).
Thanks to your help in a previous post, I was able to comprehend nearly everything that you have built and I appreciate how much time you have spent on this project!
In celebration I made this demo and recorded this clip:
Hi ENiKS great work, sucha a nice piece to start making VR experiences i have one problem, i need to activate the teleport in the right hand too, i was searching in the touch controller “Oculus” But if i duplicate the right hand blueprints and choose the inputs for the left its still not working, Any Suggest? Thanks
@ENiKS Hi! I love your template, I am trying to use your hands in a side project because I love their transparency effect. However, it seems that trying to use the same hand skeletal mesh as HandBP in my pawn yields a different effect - do you have any idea what might be causing this? Is there some operation performed on HandBP in VRPawn that would effect the material’s opacity like this, and therefore causing it to appear correct only when used in VRPawn? I attached 3 pictures in the order of VRPawn in game, my pawn in game, and what the mesh looks like in the skeletal mesh editor. Notice how in 2/3 I can see my fingers through my hand
I have used the UVRF template in a project using UE 4.22. As it can be seen in the attached picture, when the arrow hits the ground, a big arrow is shown (indicated by a red box in the picture). The collision setting of the ground is set to BlockAll. What’s wrong with this setting and how i can fix it?