Skip to content

Skeletal Input

runeberg edited this page Apr 11, 2019 · 2 revisions

The SteamVR Input Unreal Plugin exposes skeletal data in a few different ways.

SteamVR Skeletal Anim Pose

This is an Anim Graph node that gives you an Animation Pose output for either the SteamVR Skeleton or the UE Skeleton that comes with the VR Template. For inputs it takes a Motion Range (with controller / without controller), Hand (left/right), Hand Skeleton (SteamVR/UE), and whether or not to Mirror the output pose. The Sample Maps provide examples of using both skeletons.

Set VR Wrist Transform

Another Anim Graph node that eases the process of blending between the procedural skeletal data you get from SteamVR Input and static pose data from animations you've created. Takes a Reference Pose (the wrist pose you want to apply) and a Target Pose (the blended pose to apply to) as inputs and outputs the Target Pose with the wrist from the Reference Pose.

Curls and Splays

Finger curls and finger splays can be useful summary data to use to do simple gesture recognition or even super simple hand animation. We provide a Get Finger Curls And Splays blueprint node that will give you structs for curls and splays for the selected hand. You can see an example of this in use by giving JoeJeff the peace sign with your hands in the sample maps. Check BP_JoeJeffCharacter for how this works.

Curls and Splays can be globally turned on and off by using the Get Curls And Splays State and Set Curls And Splays State nodes.

Get Controller Fidelity

This node gets the current skeletal data fidelity level of the controller on the left or right hand.

  • Estimated: Body part location can’t be directly determined by the device. Any skeletal pose provided by the device is estimated based on the active buttons, triggers, joysticks, or other input sensors. Examples include the Vive Controller and gamepads.
  • Partial: Body part location can be measured directly but with fewer degrees of freedom than the actual body part.Certain body part positions may be unmeasured by the device and estimated from other input data.Examples include Knuckles or gloves that only measure finger curl
  • Full: Body part location can be measured directly throughout the entire range of motion of the body part.Examples include hi-end mocap systems, or gloves that measure the rotation of each finger segment.

Get Skeletal State

Returns true if the current controller supports SteamVR Skeletal Input.