docs.unity.cn
Search Results for

    Show / Hide Table of Contents

    Class XRInteractionGroup

    Behaviour implementation of IXRInteractionGroup. An Interaction Group hooks into the interaction system (via XRInteractionManager) and enforces that only one IXRGroupMember within the Group can interact at a time. Each Group member must be either an IXRInteractor or an IXRInteractionGroup.

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    XRInteractionGroup
    Implements
    IXRInteractionOverrideGroup
    IXRInteractionGroup
    IXRGroupMember
    Inherited Members
    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
    Assembly: solution.dll
    Syntax
    [DisallowMultipleComponent]
    [AddComponentMenu("XR/XR Interaction Group", 11)]
    [HelpURL("https://docs.unity.cn/Packages/com.unity.xr.interaction.toolkit@3.0/api/UnityEngine.XR.Interaction.Toolkit.XRInteractionGroup.html")]
    [DefaultExecutionOrder(-100)]
    public class XRInteractionGroup : MonoBehaviour, IXRInteractionOverrideGroup, IXRInteractionGroup, IXRGroupMember
    Remarks

    The member prioritized for interaction in any given frame is whichever member was interacting the previous frame if it can select in the current frame. If there is no such member, then the interacting member is whichever one in the ordered list of members interacts first.

    Properties

    Name Description
    activeInteractor

    The Interactor in this Interaction Group or any of its member Groups that is currently performing interaction.

    containingGroup

    The Interaction Group that contains this member.

    focusInteractable

    The Interactable that is currently being focused by an Interactor in this Interaction Group or any of its member Groups.

    focusInteractor

    The Interactor in this Interaction Group or any of its member Groups that initiated the last focus event.

    groupName

    The name of the interaction group, which can be used to retrieve it from the Interaction Manager.

    interactionManager

    The XRInteractionManager that this Interaction Group will communicate with (will find one if null).

    startingGroupMembers

    Ordered list of Interactors or Interaction Groups that are registered with the Group on Awake. All objects in this list should implement the IXRGroupMember interface and either the IXRInteractor interface or the IXRInteractionGroup interface.

    Methods

    Name Description
    AddGroupMember(IXRGroupMember)

    Adds the given Group member to the end of the ordered list of members in the Group. Causes no change if the Group member is already added.

    AddInteractionOverrideForGroupMember(IXRGroupMember, IXRGroupMember)

    Adds overrideGroupMember as a possible interaction override for sourceGroupMember.

    AddStartingInteractionOverride(Object, Object)

    Adds overrideGroupMember to the list of Group members that are to be added as interaction overrides for sourceGroupMember on Awake. Both objects must already be included in the startingGroupMembers list. The override object should implement either the IXRSelectInteractor interface or the IXRInteractionOverrideGroup interface.

    Awake()

    See MonoBehaviour.

    ClearGroupMembers()

    Removes all Group members from the list of members.

    ClearInteractionOverridesForGroupMember(IXRGroupMember)

    Clears the set of possible interaction overrides for sourceGroupMember.

    ContainsGroupMember(IXRGroupMember)

    Checks whether the given Group member exists in the list of members.

    GetGroupMembers(List<IXRGroupMember>)

    Returns all members in the ordered list of Group members into List results.

    GetInteractionOverridesForGroupMember(IXRGroupMember, HashSet<IXRGroupMember>)

    Returns all members in the set of possible interaction overrides for sourceGroupMember into set results.

    GroupMemberIsPartOfOverrideChain(IXRGroupMember, IXRGroupMember)

    Checks whether potentialOverrideGroupMember is either the same as sourceGroupMember or part of a chain of its override Group members and their overrides.

    HasDependencyOnGroup(IXRInteractionGroup)

    Checks whether the given Group is either the same as this Group or a dependency of any member Group.

    MoveGroupMemberTo(IXRGroupMember, int)

    Moves the given Group member to the specified index in the ordered list of members in the Group. If the member is not in the list, this can be used to insert the member at the specified index.

    OnDestroy()

    See MonoBehaviour.

    OnDisable()

    See MonoBehaviour.

    OnEnable()

    See MonoBehaviour.

    OnFocusEntering(FocusEnterEventArgs)

    The XRInteractionManager calls this method right before the Interaction group first gains focus of an Interactable in a first pass.

    OnFocusExiting(FocusExitEventArgs)

    The XRInteractionManager calls this method right before the Interaction group loses focus of an Interactable in a first pass.

    RemoveGroupMember(IXRGroupMember)

    Removes the given Group member from the list of members.

    RemoveInteractionOverrideForGroupMember(IXRGroupMember, IXRGroupMember)

    Removes overrideGroupMember as a possible interaction override for sourceGroupMember.

    RemoveStartingInteractionOverride(Object, Object)

    Removes overrideGroupMember from the list of Group members that are to be added as interaction overrides for sourceGroupMember on Awake.

    Reset()

    See MonoBehaviour.

    Events

    Name Description
    registered

    Calls the methods in its invocation list when this Interaction Group is registered with an Interaction Manager.

    unregistered

    Calls the methods in its invocation list when this Interaction Group is unregistered from an Interaction Manager.

    Extension Methods

    XRGroupMemberExtensions.GetTopLevelContainingGroup(IXRGroupMember)
    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)