UxrGrabPointShape Class

Base class to create more advanced grips (cylindrical, box…). An UxrGrabbableObject enables grabbing an object. A grabPoint inside the UxrGrabbableObject defines where and how the object will snap to the hand. Additionally, if there is an UxrGrabPointShape based component on the same object, it will “expand” the snapping from a single point to a more complex shape like a an axis, a cylinder, a box… This way an object can be picked up from many different places just by specifying a snap point and some additional properties.

Inheritance Hierarchy

System.Object
  Object
    Component
      Behaviour
        MonoBehaviour
          UltimateXR.Core.Components.UxrComponent
            UltimateXR.Core.Components.UxrComponent(UxrGrabPointShape)
              UltimateXR.Core.Components.UxrComponent(UxrGrabbableObject, UxrGrabPointShape)
                UltimateXR.Manipulation.UxrGrabPointShape
                  UltimateXR.Manipulation.UxrGrabPointShapeAxisAngle
Namespace: UltimateXR.Manipulation
Assembly: UltimateXR (in UltimateXR.dll) Version: 0.0.0.0

Syntax

C#

[RequireComponent(typeof(UxrGrabbableObject))]
public abstract class UxrGrabPointShape : UxrComponent<UxrGrabbableObject, UxrGrabPointShape>


The UxrGrabPointShape type exposes the following members.

Constructors

NameDescription
Protected methodUxrGrabPointShape

Properties

NameDescription
Public propertyGrabPoint Gets the grab point from the UxrGrabbableObject this object extends.

Methods

NameDescription
Public methodGetClosestSnap Gets the closest snap position and rotation that should be used when a UxrGrabber tries to a grab point, defined by transform used for snapping and the transform used to compute proximity.
Public methodGetDistanceFromGrabber Gets the distance from a UxrGrabber to a grab point, defined by transform used for snapping and the transform used to compute proximity.

Fields

NameDescription
Protected field_grabPointIndex

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