How to Use Controller AnimationΒΆ

With VIVE Wave™, developers can get the controller animation data of the currently connected device. The structure WVR_CtrlerModelAnimData_t is used to represent the animation data of controller model. Throught this structure, you can get the animation data (position, rotation, and scale) of each component in the controller model to simulate button pressed. There are three type animation we defined. The description about each type are listed as follows :

  • 0-1 Button : The states of button are pressed and release. If we pressed, we use pressed pose. Otherwise we use release pose. (e.g. Button A,B,X,Y)
  • 1D Analog Button : We need to interpolate the button pose linearly with origin and pressed poses. (e.g. Button Trigger and Grip)
  • 2D Analog Button : We need to interpolate the button pose bilinearly with origin and all min and max pose(usually only use rotation). (e.g. Button Thumbstick)

The blue effect is used to specify that we need to draw effect when button pressed or not. This is option for developer. In our case, we will draw outline when button pressed if we indicated.

The structure WVR_CtrlerModelAnimNodeData_t is used to record pose about each state(default and pressed).

  • The variable name is used to record name of component.
  • The variable type is used to specify how to present animation for this button.
Value Animation Type
0 0-1 Button
1 1D Analog Button
2 2D Analog Button
  • The variable origin, pressed, minX, maxX, minY and maxY are used to specify default, pressed and boundary of activity region individually.

To see a more detailed explanation, refer to the Controller class in the wvr_hellovr sample.