Tracking in Headsets
There are a number of ways to improve tracking once headset mode has been enabled with the HeadsetManager.
Use Gyro
The useGyro
property of a target makes objects relative to the target to attempt to keep their position when the user looks around, even when image tracking fails.
This is useful when dealing with large objects that will not fit into frame without requiring the user to alter the direction they are facing.
The option can be enabled from the properties panel of a target or in a script node by using the useGyro(...) function.
Default Scale
The defaultScale
property of a target indicates the physical size of the target and is necessary in order to render the objects on the target at the correct depth and size in a 3D stereoscopic headset.
If the defaultScale
is not correctly set, depth perception issue may arise causing eye strain and, goodness forbid, nausea.
The defaultScale
of a target can be set in the properties panel with the target selected in the Hierarchy, or in a script node by using the defaultScale(...) function.
The default scale determines the physical size of 1 unit of target space in meters. Thus, since target space ranges from -1 at the bottom of the target image to +1 at the top, a defaultScale
of 1 implies that the target is 2 meters in height. A target that is 40cm tall should have a defaultScale
value of 0.2.
Gravity Billboard
Objects placed within a GravityBillboard node are rotated so they always remain upright with respect to gravity. This helps to keep objects vertical even if the target is rotating.
To create a new GravityBillboard in the Hierarchy right click on the target node and select 'New > Transforms > GravityBillboard' and give it a name. Place any objects you wish to remain upright with respect to gravity within the newly created node.