UxrSmoothLocomotion Class

Type of locomotion where the user moves across the scenario in a similar way to FPS video-games.

Inheritance Hierarchy

System.Object
  Object
    Component
      Behaviour
        MonoBehaviour
          UltimateXR.Core.Components.UxrComponent
            UltimateXR.Core.Components.UxrComponent(UxrLocomotion)
              UltimateXR.Core.Components.Composite.UxrAvatarComponent(UxrLocomotion)
                UltimateXR.Locomotion.UxrLocomotion
                  UltimateXR.Locomotion.UxrSmoothLocomotion
Namespace: UltimateXR.Locomotion
Assembly: UltimateXR (in UltimateXR.dll) Version: 0.0.0.0

Syntax

C#

public class UxrSmoothLocomotion : UxrLocomotion


The UxrSmoothLocomotion type exposes the following members.

Constructors

NameDescription
Public methodUxrSmoothLocomotion

Properties

NameDescription
Public propertyGravity Gravity when falling.
Public propertyIsSmoothLocomotion

Gets whether the locomotion updates the avatar each frame. An example of smooth locomotion is UxrSmoothLocomotion where the user moves the avatar in an identical way to a FPS video-game. An example of non-smooth locomotion is UxrTeleportLocomotion where the avatar is moved only on specific occasions.

The smooth locomotion concept should not be confused with the ability to move the head around each frame. Smooth locomotion refers to the avatar position, which is determined by the avatar’s root GameObject. It should also not be confused with the ability to perform teleportation in a smooth way. Even if some teleportation locomotion methods can teleport using smooth transitions, it should not be considered as smooth locomotion.

The smooth locomotion property can be used to determine whether certain operations, such as LOD switching, should be processed each frame or only when the avatar position changed.

(Overrides UxrLocomotion.IsSmoothLocomotion.)

Public propertyMetersPerSecondNormal Meters per second the user will move when walking normally and the joystick is at peak amplitude.
Public propertyMetersPerSecondSprint Meters per second the user will move when sprinting and the joystick is at peak amplitude.
Public propertyRotationDegreesPerSecondNormal Degrees per second the user will rotate when walking normally and the joystick is at peak amplitude.
Public propertyRotationDegreesPerSecondSprint Degrees per second the user will rotate when sprinting and the joystick is at peak amplitude.

Methods

NameDescription
Protected methodOnEnable Tries to place the user on the ground. (Overrides UxrComponent<T>.OnEnable().)
Protected methodUpdateLocomotion Gathers input and updates the physics parameters. (Overrides UxrLocomotion.UpdateLocomotion().)

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.Locomotion Namespace