docs.unity.cn
Search Results for

    Show / Hide Table of Contents

    Class XRGeneralGrabTransformer

    Grab transformer which supports moving and rotating unconstrained with one or two interactors. Also allows clamped or unclamped scaling when using two interactors. Allows axis constraints on translation. This is the default grab transformer.

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    XRBaseGrabTransformer
    XRGeneralGrabTransformer
    Implements
    IXRGrabTransformer
    Inherited Members
    XRBaseGrabTransformer.canProcess
    XRBaseGrabTransformer.Start()
    XRBaseGrabTransformer.OnDestroy()
    XRBaseGrabTransformer.OnLink(XRGrabInteractable)
    XRBaseGrabTransformer.OnUnlink(XRGrabInteractable)
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(string, float)
    MonoBehaviour.InvokeRepeating(string, float, float)
    MonoBehaviour.CancelInvoke(string)
    MonoBehaviour.IsInvoking(string)
    MonoBehaviour.StartCoroutine(string)
    MonoBehaviour.StartCoroutine(string, object)
    MonoBehaviour.StartCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(string)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(object)
    MonoBehaviour.useGUILayout
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, out Component)
    Component.TryGetComponent<T>(out T)
    Component.GetComponent(string)
    Component.GetComponentInChildren(Type, bool)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(bool)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, bool)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(bool)
    Component.GetComponentsInChildren<T>(bool, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type, bool)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>(bool)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, bool)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(bool)
    Component.GetComponentsInParent<T>(bool, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.CompareTag(string)
    Component.SendMessageUpwards(string, object, SendMessageOptions)
    Component.SendMessageUpwards(string, object)
    Component.SendMessageUpwards(string)
    Component.SendMessageUpwards(string, SendMessageOptions)
    Component.SendMessage(string, object)
    Component.SendMessage(string)
    Component.SendMessage(string, object, SendMessageOptions)
    Component.SendMessage(string, SendMessageOptions)
    Component.BroadcastMessage(string, object, SendMessageOptions)
    Component.BroadcastMessage(string, object)
    Component.BroadcastMessage(string)
    Component.BroadcastMessage(string, SendMessageOptions)
    Component.transform
    Component.gameObject
    Component.tag
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetType()
    object.MemberwiseClone()
    Namespace: UnityEngine.XR.Interaction.Toolkit.Transformers
    Assembly: solution.dll
    Syntax
    [AddComponentMenu("XR/Transformers/XR General Grab Transformer", 11)]
    [HelpURL("https://docs.unity.cn/Packages/com.unity.xr.interaction.toolkit@3.0/api/UnityEngine.XR.Interaction.Toolkit.Transformers.XRGeneralGrabTransformer.html")]
    public class XRGeneralGrabTransformer : XRBaseGrabTransformer, IXRGrabTransformer

    Properties

    Name Description
    allowOneHandedScaling

    Allow one handed scaling using the scale value provider if available.

    allowTwoHandedRotation

    Determines how rotation is calculated when using two hands for the grab interaction.

    allowTwoHandedScaling

    Allow scaling when using multi-grab interaction.

    clampScaling

    If enabled, scaling will abide by ratio ranges defined by minimumScaleRatio and maximumScaleRatio.

    constrainedAxisDisplacementMode

    Determines how the constrained axis displacement mode is computed.

    maximumScaleRatio

    Maximum scale multiplier applied to the initial scale captured on start.

    minimumScaleRatio

    Minimum scale multiplier applied to the initial scale captured on start.

    oneHandedScaleSpeed

    Scaling speed over time for one handed scaling based on the IXRScaleValueProvider

    permittedDisplacementAxes

    Permitted axes for translation displacement relative to the object's initial rotation.

    registrationMode

    Controls how this grab transformer will be registered automatically at startup.

    scaleMultiplier

    Scales the distance of displacement between interactors needed to modify the scale interactable.

    thresholdMoveRatioForScale

    (Two Handed Scaling) Percentage as a measure of 0 to 1 of scaled relative hand displacement required to trigger scale operation. If this value is 0f, scaling happens the moment both grab interactors move closer or further away from each other. Otherwise, this percentage is used as a threshold before any scaling happens.

    Methods

    Name Description
    Awake()

    See MonoBehaviour.

    OnGrab(XRGrabInteractable)

    Called by Unity when the given Interactable is grabbed (in other words, when entering the Select state). This method won't be called again until the Interactable is released by every Interactor. Use this to do any code initialization based on the first Interactor that selects the Interactable.

    OnGrabCountChanged(XRGrabInteractable, Pose, Vector3)

    Called by Unity each time the number of selections changes for the given Interactable while grabbed by at least one Interactor, including when it is first grabbed. Use this to do any code initialization based on each Interactor currently selecting the Interactable, for example computing the initial distance between both Interactors grabbing the object.

    Process(XRGrabInteractable, UpdatePhase, ref Pose, ref Vector3)

    Called by the linked Interactable to calculate the target pose and scale. Modify the value of targetPose and/or localScale (or neither).

    See Also

    XRGrabInteractable
    In This Article
    Back to top
    Copyright © 2023 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)