Skip to content

szanuj/VRPuppetHands

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VRPuppetHands

Active ragdoll (puppet) type VR hands in Unreal Engine 5.4 using experimental Physics Control feature. Built on top of VR Expansion Plugin Example Template

This is a demo project I put together to see how active ragdoll (puppet) hands would feel in VR. Unreal Engine 5's Physics Control component makes puppets fairly simple to create, though there is a lot of fine tuning to do for a convincing effect. Scene contains a bunch of example physics-based interactables including a pettable cat - it is also a puppet, alas, not carryable.

Grab the build (Windows) or inspect project in Unreal (instructions below).

Supports hand tracking through OpenXR*. Hand tracking mode will activate automatically when you put away controllers. There is no gesture detection (editor started crashing on startup whenever I added it) so grip and teleport/snap work only on controllers.

* Hand tracking through Meta Quest Link no longer works after recent updates from Meta. In late 2024 it worked after you enabled Developer Runtime Features in desktop app. You can try your luck with Steam Link, Virtual Desktop or ALVR, but I haven't tested that. Finger curls on Valve Index controllers should just work.

Also works without VR, in FPS mode (thanks to VREP Example Template). LMB for grabbing, 1-4 keys for different right hand finger curls.

YouTube Showcase

YouTube

Project setup

Notes

  • Some files from Example Template were modified, so things may be broken/different - please do not report issues with this project to Example Template repo
  • Async Physics Tick and Substepping Async settings are enabled, introducing latency. But when I tried disabling these, it caused hand to visually lag behind gripped interactable. It's likely a tick timing configuration problem but I couldn't find a setup that worked. I also didn't manage to achieve a higher tick rate without async settings, and default was rather janky. If you do know how to fix these, feel free to propose a solution.
  • This is just a what-if demo. Don't expect additional maintenance or updates

Credits

About

Ragdoll/Puppet hands in VR. Example demo project in UE5.4

Resources

License

Stars

Watchers

Forks

Packages

No packages published