XR Motions Rig
XR Motions Rig
is a Unity prefab that contains all available features from the XR Motions
package, and you can drag and drop it into the scene hierarchy for a quick XR navigation setup.
XR Motion Rig
is a prefab variant built on top ofXR Rig
, which comes from theXR Core
package. If you have purchased Telerik XR Complete, then you may also take a look at theXR Rig Complete
from theXR Integration
package as this prefab variant includes the full set of features from all Telerik packages combined.
Rig Concept
The Rig prefab represents the XR player who will be navigating in the scene. The rig has a specific children hierarchy allowing cross-platform handling of different XR features—head, hands, and fingers presence, controller button states, camera effects, etc. Many of the Rig children implement the IXRRigNode interface
allowing them to receive updates in the desired order.
Rig Child Hierarchy
The following children and behaviors are part of the Rig hierarchy:
-
Tracking space
—used for managing the position and state of head, hands, fingers, and controllers. The tracking space idea is to represent a platform-independent character hierarchy which is not updated automatically but instead is managed by several platform-specific input handlers. You may find more info about this concept inXR Core
package documentation. -
XR Camera
—the camera that tracks the player head and is used for rendering the XR scene. You may find more info in the Camera Effects article. -
Input
—a set of platform-specific input handlers that are used to populate the tracking space children hierarchy. You may find more info about this concept inXR Core
package documentation. -
Gestures
—a set of handlers that control when a specific hand gesture or controller button is pressed so that a locomotion action is executed. -
Pointers
—this is a PointersController script that controls when the teleportation pointer curve should be visible. For this purpose, it uses theTeleportationPointerSource
class inheritors such as theHandLTeleportationGesture
andJoystickTeleportationGesture
and activates aCurvedTeleportationPointer
when some of the sources are active. For more information, see the Teleportation Curve article. -
NavMeshAgent
—an instance of Unity Nav Mesh Agent that is used for easier setup of the allowed navigation areas in your scene. For more information, see the Nav Mesh Setup article. -
Locomotion script
—this script is responsible for respecting the current Locomotion settings and handling the execution of smooth locomotion, teleportation motion, or turn around motion.