Open source interaction toolkit for VR Grabable actor component

Grab Types

There are 4 essential ways to grab an object - relative, fixed, directional and rotational. In order for object to be grabbed, the actor needs to have an component Grabable and setup one of the grab types.

When it doesn't matter where you grab an object Relative Grab

Relative grab is when it doesn't matter where you grab an object, once grabbed it will just stay relative to your hand.

Setting up relative grab

  • Volume is the reference of volume that can be grabbed. Needs to be primitive component, usually root of the actor.
  • Animation determines what animation will the hand assume when holding that object

When there is just one way to grab it Fixed Grab

Fixed grab is used for most object, when the object will automatically slide into a preconfigured position.

Setting up fixed grab - you need to first determined the transform for Left and Right hand. Use blueprint in UVRF/Hand/HandPoseTesting(Left) to find the correct fit.

  • Volume is the reference of volume that can be grabbed. Needs to be primitive component, usually root of the actor.
  • Animation determines what animation will the hand assume when holding that object
  • Grab Transform Left is the transform of the object, relative to hand, when held in left hand
  • Grab Transform Right is the transform of the object, relative to hand, when held in right hand

For moving alongside one axis Directional Grab

Relative grab will move the object as close to hand alongside one pre determined axis.

Setting up directional grab

  • Volume is the reference of volume that can be grabbed. Needs to be primitive component, usually root of the actor.
  • Axis determines the axis alongside the locomotion will occur, in local space
  • Grab Point in local, where the hand should be holding it, usually a handle
  • Distance Min when Enforce Limits is set, the distance it will not be allowed to travel below.
  • Distance Max when Enforce Limits is set, the distance it will not be allowed to travel above.
  • Distance Tolerance the maximum allowed distance of the hand from Grab point, when the grab is still active. When releached, it will release automatically.
  • Highlight Volume is the volume that will be highlighted when hovering above. May be same as Volume or different - eg handle
  • Grab Anim determines what animation will the hand assume when holding that object
  • Enforce Limits determines whenever Distance Min and Max are enforced. When false, the object can move freely alongside the axis.

For rotating alongside one axis Rotational Grab

Setting up rotational grab

  • Volume is the reference of volume that can be grabbed. Needs to be primitive component, usually root of the actor.
  • Axis determines rotation axis, in local space
  • Grab Point in local, where the hand should be holding it, usually a handle
  • Distance Min when Enforce Limits is set, the distance it will not be allowed to travel below.
  • Distance Max when Enforce Limits is set, the distance it will not be allowed to travel above.
  • Distance Tolerance the maximum allowed distance of the hand from Grab point, when the grab is still active. When releached, it will release automatically.
  • Highlight Volume is the volume that will be highlighted when hovering above. May be same as Volume or different - eg handle
  • Grab Anim determines what animation will the hand assume when holding that object
  • Enforce Limits determines whenever Distance Min and Max are enforced. When false, the object can rotate freely alongside the axis.

Communication

For interaction with grabbed elements the following events are available to bind your interactions on to.

  • Grab Notify is called when object is grabbed
  • Release Notify is called when object is released
  • Thumb Action is called when hand holding the object is performing Thumb action (usually first face button is pressed)
  • Thumb Action End is when the button is released
  • Index Action is called when hand holding the object is performing Index action (trigger button)
  • Index Action End is when the button is released
  • Move Notify is called every tick when Directional or Rotation grab is grabbed, informing of the distance travelled.

Back to Top
Close Zoom