HPTK Posing & Snapping

Realistic hand poses and physics-based grabbing logic for your game!



Demo available!


Oculus Quest 1/2



Documentation



HPTK Features


✔️ Valid for VR / MR / non-XR applications


✔️ Valid for both hand tracking and controllers


✔️ Compatible with UnityXR, OVR & MRTK


✔️ Compatible with FinalIK


✔️ Compatible with full body physics (optional)


✔️ Example avatar using full body physics + FinalIK


✔️ Example scene using Oculus Quest (hand tracking + controllers)


✔️ Example scene using UnityXR (controllers)



Asset Features


✔️ Procedural grabbing poses


✔️ Physics-based grabbing system


✔️ 13 extra poses


✔️ Valid for any hand size


✔️ Fine-tunable pose generation


✔️ Fine-tunable snapping forces and bones locking


✔️ Example avatar using full body physics + FinalIK + Snapping


✔️ Example scene for multiple posing use cases:


  • Posable/snappable gun, card, mug, steering-wheel, ball and bar
  • Comparison of rotation modes
  • Master-attached posing
  • Custom pose grabbing
  • Precision grip
  • Power grip


Content


  • Poser module + Posable component
  • Snapper module + Snappable component
  • 🔫 Super cool pistol model
  • ✋ Rigged hand models


Limitations


  • Posable/Snappable objects are required to be Rigidbody + Colliders
  • This asset does not include scripts to export posed meshes or armatures


Notice


  • ⚠️ HPTK 0.6+ package is required. Available for free on GitHub and OpenUPM
  • The 12 voucher codes available for this year for research and rehabilitation purposes have already been issued

This asset uses a pistol model under CC0; see Third-Party Notices.txt file in package for details.


This asset uses hand models from Oculus Integration package under Oculus Master SDK License Agreement - 1.0; see Third-Party Notices.txt file in package for details



Changelog


1.0.0

  • Procedural power/pinch grabbing pose
  • Performance options

1.1.0

  • Snapping system with predictive procedural poses using Unity's physics engine
  • Support to custom rigged hands. Wiki

1.1.1

  • Option to pose only fingers from a given hand position
  • Better control on ghost behaviour when there is no object to grab
  • Support to full-body armatures. Wiki

1.2.0

  • Example scene for snapping extension
  • Object-specific bone collision mapping
  • Object-specific bone lock mapping
  • Configurable attraction/snapping forces

1.2.1

  • Scale-independent posing and snapping
  • Layer masks for pose generation
  • MRTK compatibility

2.0.0

  • Support for HPTK 0.6
  • Example avatar using FinalIK
  • More stable physics with realistic weights
  • Make an object posable by adding 1 component
  • Making an object snappable by adding 1 component
  • Granular bone locking system
  • Improved performance

2.0.1

  • Support for remote snapping/unsnapping

2.0.2

  • Fixed missing references after candidate/snapped object removal

2.0.3

  • Fixed slow hands on Unity 2022.
  • New events for grabbable objects.
  • New option to control what to do when a object is snapped by multiple hands.

If this was useful for your project, please let me know. I'd love to see your work!