How to make a controller model complied by WaveVR rules

The example is present how to follow WaveVR rules to make a controller model. This example is based on FBX export. What is Unity FBX export guide, please refer to FBX export

Provider might use 3D Max, Cinema 4D, Maya ... etc to construct controller model and export with FBX. Following rules and approved by WaveVR, WaveVR_ControllerLoader will show your controller model by connecting of real device and append indicator for the model.

Steps

  1. Construct 3D model
  2. Export with FBX format
  3. Unity import FBX and create prefab
  4. Ready to review

Construct 3D model

  • Prepare textures and materials

We will take Finch controller as example, textures including

  1. All keys and body: Body、Trigger、Touch、App、Home、Bumper and Volume. You don’t need to have all buttons and depend on your real device.
_images/MIA_Ctrl_COL2.png
  1. Key press: Optional, might including touch dot, touch press, app press ... etc.
  2. Battery: Optional, for example, there are 5 level battery percentage.

1st level:

_images/B100.png

2nd level:

_images/B80.png

3rd level:

_images/B60.png

4th level:

_images/B40.png

5th level:

_images/B20.png
  • Construct controller model

Rules must followed when you construct controller model:

  1. Controller model must head forward and face up .

  2. Each component must follow naming rule.

    Body: _[CM]_Body

    Trigger: _[CM]_TriggerKey

    Touchpad: _[CM]_TouchPad

    App: _[CM]_AppButton

    Home: _[CM]_HomeButton

    Volume: _[CM]_VolumeKey

    Bumper: _[CM]_BumperKey

  3. Each component must has its origin.

Export with FBX format

Unity import FBX and create prefab

  1. Plug-and-Drag FBX file to Unity.
_images/importfbx.jpg
  1. Prepare textures and create materials.
_images/copytexture.jpg _images/createMat.jpg
  1. Create an empty game object and follow naming rule. We take Finch controller as example and rename it to WVR_CONTROLLER_FINCH3DOF_1_0_MC_R, suppose it is right hand.

    Naming rule: ControllerID_MC_WhichHand (Right hand is R, left hand is L)

_images/createcontroller.jpg
  1. Add WaveVR_PoseTrackerManager script to WVR_CONTROLLER_FINCH3DOF_1_0_MC_R and set device to WVR_DeviceType_Controller_Right.
_images/posetracker1.jpg
  1. Add FBX model to WVR_CONTROLLER_FINCH3DOF_1_0_MC_R.
_images/fbxtosub.jpg
  1. Setting textures and materials, disable press effect as default.
_images/setmat.jpg
  1. Add battery indication to model。(Optional)
  1. Add battery FBX to controller model.
_images/battery.jpg
  1. Setting textures and materials
_images/batterymat.jpg
  1. Chect model content by rotating viewport.
_images/finishpic.jpg
  1. Reset WVR_CONTROLLER_FINCH3DOF_1_0_MC_R position and rotation
_images/inspector1.jpg
  1. Add script to show effect or battery indication, please refer to Finch controller model. (Optional)
_images/actions.jpg
  1. Add indicator feature to controller (Optional and it is based on naming rule and model direction)
_images/indicator.jpg
  1. Create Resources/Controller folder and save WVR_CONTROLLER_FINCH3DOF_1_0_MC_R as prefab.
_images/prefab2.jpg

Ready to review