How To Use
hort video tutorial explaining how to implement locomotion using OctoXR
Drag and drop OctoHand_Left and OctoHand_Right prefabs as a child of TrackingSpace.
Reference (for Oculus) OVRCameraRig to InputRoot of MultiSourceInputDataProvider for each hand.
Drag and drop Teleport prefab as a child of OctoHand_Left or OctoHand_Right.
Drag and drop Footprints and Teleport Reticle prefabs somewhere in the scene hierarchy. Note that you can use your own custom ones.
In order to ease the motion sickness caused by immersive VR world, ScreenFader was implemented. In the sample scenes, It is mostly used to fade in and out while teleporting (blink teleport) and to fade in when the player is in an uncomfortable situation (perhaps on the edge of the building). Attach it to main camera (in this example CenterEyeAnchor). Provide it with the material from OctoXR/Materials folder.
Attach LocomotionSystem component to the OVRCameraRig. Reference ScreenFader, CenterEyeCamera transform and Footprints game object.
There are two types of teleport destinations. TeleportArea which represents larger area where player can freely teleport and TeleportAnchor where player teleports to the fixed location every time. Add a plane to the scene. Attach it with TeleportArea component and Ground component. Add another plane to the scene. Scale it down. This time attach it with TeleportAnchor component as well as Ground component. Planes should look somehow like this now:
There are multiple predefined types of teleport in the OctoXR. Hand tracking teleport and controller tracking teleport. Hand tracking teleport is divided into pinch teleport and custom gesture teleport (Use only one, disable the other). Reference LocomotionSystem, BasicHandSkeleton, TeleportReticle and InputDataProviders to corresponding hands on elements of Teleport prefab.
Teleport Area Example
Teleport Anchor Example