How To Use

Setting Up

Drag and drop OctoHand_Left and OctoHand_Right prefabs in the scene.

Reference (for Oculus) OVRCameraRig to InputRoot of MultiSourceInputDataProvider for each hand.

Drag and drop OctoInputModule prefab somewhere in scene hierarchy. Make sure that there are no other input modules or event systems in the scene.

Drag and drop UIPointer prefab in the scene.

Adjusting UIPointer

Reference corresponding hand skeleton and palm center to UIPointer component (right hand skeleton if you want to use pointer with the right hand).

Reference corresponding Input providers to child game objects named "Hand" and "Controller".

Style your ray using RayVisuals.

Testing

Use pinch gestures to operate UI elements

NEED TO KNOW

UIPointer uses GraphicRaycaster to manipulate the canvas which means that canvas needs graphic elements. This can lead to unwanted behavior when no graphical elements are found on canvas. Make sure that every canvas has an Image that covers whole width and height of the canvas. You can make that picture transparent. Then your UIPointer will recognize the whole canvas.

Never rotate your UI elements by 180 degrees around Y axis, rather scale your element to negative value on X axis. That is because Z axis needs to point away from canvas!

UIPointer component needs at least one concrete pointer to work (Hand or controller). That concrete pointer MUST be a childe of UIPointer component.

Last updated