UxrControllerTracking Class

Base class for standard tracking of left+right VR controllers.

Inheritance Hierarchy

System.Object
  Object
    Component
      Behaviour
        MonoBehaviour
          UltimateXR.Core.Components.UxrComponent
            UltimateXR.Core.Components.UxrComponent(UxrTrackingDevice)
              UltimateXR.Core.Components.Composite.UxrAvatarComponent(UxrTrackingDevice)
                UltimateXR.Devices.UxrTrackingDevice
                  UltimateXR.Devices.UxrControllerTracking
                    UltimateXR.Devices.Integrations.SteamVR.UxrSteamVRControllerTracking
                    UltimateXR.Devices.Integrations.UxrUnityXRControllerTracking
Namespace: UltimateXR.Devices
Assembly: UltimateXR (in UltimateXR.dll) Version: 0.0.0.0

Syntax

C#

public abstract class UxrControllerTracking : UxrTrackingDevice, 
	IUxrControllerTracking


The UxrControllerTracking type exposes the following members.

Constructors

NameDescription
Protected methodUxrControllerTracking

Properties

NameDescription
Public propertyHasLeftHandSensorSetup Gets if the left hand sensor in the component inspector has been set up
Public propertyHasRightHandSensorSetup Gets if the right hand sensor in the component inspector has been set up
Public propertyHeadsetIs6Dof Gets whether the camera of the tracking setup has 6 degrees of freedom
Protected propertyLocalAvatarLeftHandSensorPos The left hand sensor position in local avatar coordinates
Protected propertyLocalAvatarLeftHandSensorRot The left hand sensor rotation in local avatar coordinates
Protected propertyLocalAvatarRightHandSensorPos The right hand sensor position in local avatar coordinates
Protected propertyLocalAvatarRightHandSensorRot The right hand sensor rotation in local avatar coordinates
Public propertyRelatedControllerInputType Gets the type of the input controller component that handles input for the same kind of controller this component handles the tracking for.
Public propertySensorLeftHandPos Gets the world-space position where the left hand bone should be, using the left sensor data.
Public propertySensorLeftHandRot Gets the world-space rotation that the left hand bone should have using the left sensor data.
Public propertySensorLeftPos Gets the world-space position of the left controller sensor.
Public propertySensorLeftRot Gets the world-space rotation of the left controller sensor.
Public propertySensorRightHandPos Gets the world-space position where the right hand bone should be, using the right sensor data.
Public propertySensorRightHandRot Gets the world-space rotation that the right hand bone should have using the right sensor data.
Public propertySensorRightPos Gets the world-space position of the right controller sensor.
Public propertySensorRightRot Gets the world-space rotation of the right controller sensor.
Protected propertyUpdateAvatarLeftHand Gets if the avatar’s left hand needs to be updated each time we get new sensor data for it
Protected propertyUpdateAvatarRightHand Gets if the avatar’s right hand needs to be updated each time we get new sensor data for it

Methods

NameDescription
Protected methodAwake Stores if the component was enabled from the beginning to know later if it should be enabled when the device gets connected. (Overrides UxrAvatarComponent<T>.Awake().)
Protected methodOnDestroy Unsubscribes from events (Overrides UxrTrackingDevice.OnDestroy().)
Protected methodOnEnable Starts the coroutine that tries to set up the camera (Overrides UxrComponent<T>.OnEnable().)
Protected methodStart Sets the camera at floor level in 6DOF configurations, so that the camera is updated correctly (Overrides UxrComponent.Start().)
Protected methodUpdateAvatar Overriden in child classes to implement the update of the avatar using the current sensor data. (Overrides UxrTrackingDevice.UpdateAvatar().)

Extension Methods

NameDescription
Public Extension MethodCheckSetEnabled Enables/disabled the component if it isn’t enabled already. (Defined by MonoBehaviourExt.)
Public Extension MethodGetOrAddComponent<T> Gets the Component of a given type. If it doesn’t exist, it is added to the GameObject. (Defined by ComponentExt.)
Public Extension MethodGetPathUnderScene Gets the full path under current scene, including all parents, but scene name, for the given component. (Defined by ComponentExt.)
Public Extension MethodGetSceneUid Gets an unique identifier string for the given component. (Defined by ComponentExt.)
Public Extension MethodGetUniqueScenePath Gets an unique path in the scene for the given component. It will include scene name, sibling and component indices to make it unique. (Defined by ComponentExt.)
Public Extension MethodLoopCoroutine Creates a coroutine that simplifies executing a loop during a certain amount of time. (Defined by MonoBehaviourExt.)
Public Extension MethodSafeGetComponentInParent<T> Gets the Component of a given type in the GameObject or any of its parents. It also works on prefabs, where regular GetComponentInParent(Type, Boolean) will not work: https://issuetracker.unity3d.com/issues/getcomponentinparent-is-returning-null-when-the-gameobject-is-a-prefab (Defined by ComponentExt.)
Public Extension MethodShowInInspector(Boolean)Overloaded.
Controls whether to show the current object in the inspector. (Defined by ObjectExt.)
Public Extension MethodShowInInspector(Boolean, Boolean)Overloaded.
Controls whether to show the current object in the inspector and whether it is editable. (Defined by ObjectExt.)
Public Extension MethodThrowIfNull Throws an exception if the object is null. (Defined by ObjectExt.)

See Also

Reference

UltimateXR.Devices Namespace