docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class CinemachineTargetGroup

    Defines a group of target objects, each with a radius and a weight. The weight is used when calculating the average position of the target group. Higher-weighted members of the group will count more. The bounding box is calculated by taking the member positions, weight, and radii into account.

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    CinemachineTargetGroup
    Implements
    ICinemachineTargetGroup
    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.StartCoroutine_Auto(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(string)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(object)
    MonoBehaviour.destroyCancellationToken
    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.GetComponentIndex()
    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.InstantiateAsync<T>(T)
    Object.InstantiateAsync<T>(T, Transform)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int)
    Object.InstantiateAsync<T>(T, int, Transform)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, InstantiateParameters)
    Object.InstantiateAsync<T>(T, int, InstantiateParameters)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion, InstantiateParameters)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion, InstantiateParameters)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, InstantiateParameters)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    Object.Instantiate<T>(T, InstantiateParameters)
    Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)
    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.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    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.FindObjectsOfTypeAll(Type)
    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.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: Unity.Cinemachine
    Assembly: Unity.Cinemachine.dll
    Syntax
    [AddComponentMenu("Cinemachine/Helpers/Cinemachine Target Group")]
    [ExecuteAlways]
    [DisallowMultipleComponent]
    [HelpURL("https://docs.unity3d.com/Packages/com.unity.cinemachine@3.1/manual/CinemachineTargetGroup.html")]
    public class CinemachineTargetGroup : MonoBehaviour, ICinemachineTargetGroup

    Fields

    PositionMode

    How the group's position is calculated

    Declaration
    [Tooltip("How the group's position is calculated.  Select GroupCenter for the center of the bounding box, and GroupAverage for a weighted average of the positions of the members.")]
    [FormerlySerializedAs("m_PositionMode")]
    public CinemachineTargetGroup.PositionModes PositionMode
    Field Value
    Type Description
    CinemachineTargetGroup.PositionModes

    RotationMode

    How the group's orientation is calculated

    Declaration
    [Tooltip("How the group's rotation is calculated.  Select Manual to use the value in the group's transform, and GroupAverage for a weighted average of the orientations of the members.")]
    [FormerlySerializedAs("m_RotationMode")]
    public CinemachineTargetGroup.RotationModes RotationMode
    Field Value
    Type Description
    CinemachineTargetGroup.RotationModes

    Targets

    The target objects, together with their weights and radii, that will contribute to the group's average position, orientation, and size

    Declaration
    [Tooltip("The target objects, together with their weights and radii, that will contribute to the group's average position, orientation, and size.")]
    public List<CinemachineTargetGroup.Target> Targets
    Field Value
    Type Description
    List<CinemachineTargetGroup.Target>

    UpdateMethod

    When to update the group's transform based on the position of the group members

    Declaration
    [Tooltip("When to update the group's transform based on the position of the group members")]
    [FormerlySerializedAs("m_UpdateMethod")]
    public CinemachineTargetGroup.UpdateMethods UpdateMethod
    Field Value
    Type Description
    CinemachineTargetGroup.UpdateMethods

    Properties

    BoundingBox

    The axis-aligned bounding box of the group, computed using the targets positions and radii

    Declaration
    public Bounds BoundingBox { get; }
    Property Value
    Type Description
    Bounds

    IsEmpty

    Return true if there are no members with weight > 0. This returns the cached member state and is only valid after a call to DoUpdate(). If members are added or removed after that call, this will not necessarily return correct information before the next update.

    Declaration
    public bool IsEmpty { get; }
    Property Value
    Type Description
    bool

    IsValid

    Returns true if object has not been deleted.

    Declaration
    public bool IsValid { get; }
    Property Value
    Type Description
    bool

    Sphere

    The bounding sphere of the group, computed using the targets positions and radii

    Declaration
    public BoundingSphere Sphere { get; }
    Property Value
    Type Description
    BoundingSphere

    Transform

    Get the MonoBehaviour's Transform

    Declaration
    public Transform Transform { get; }
    Property Value
    Type Description
    Transform

    m_Targets

    Obsolete Targets

    Declaration
    [Obsolete("m_Targets is obsolete.  Please use Targets instead")]
    public CinemachineTargetGroup.Target[] m_Targets { get; set; }
    Property Value
    Type Description
    Target[]

    Methods

    AddMember(Transform, float, float)

    Add a member to the group

    Declaration
    public void AddMember(Transform t, float weight, float radius)
    Parameters
    Type Name Description
    Transform t

    The member to add

    float weight

    The new member's weight

    float radius

    The new member's radius

    DoUpdate()

    Update the group's transform right now, depending on the transforms of the members. Normally this is called automatically by Update() or LateUpdate().

    Declaration
    public void DoUpdate()

    FindMember(Transform)

    Locate a member's index in the group.

    Declaration
    public int FindMember(Transform t)
    Parameters
    Type Name Description
    Transform t

    The member to find

    Returns
    Type Description
    int

    Member index, or -1 if not a member

    GetViewSpaceAngularBounds(Matrix4x4, out Vector2, out Vector2, out Vector2)

    Get the local-space angular bounds of the group, from a specific point of view. Also returns the z depth range of the members. Note that this result is only valid after DoUpdate has been called. If members are added or removed after that call or change their weights or active state, this will not necessarily return correct information before the next update.

    Declaration
    public void GetViewSpaceAngularBounds(Matrix4x4 observer, out Vector2 minAngles, out Vector2 maxAngles, out Vector2 zRange)
    Parameters
    Type Name Description
    Matrix4x4 observer

    Point of view from which to calculate, and in whose space the return values are

    Vector2 minAngles

    The lower bound of the screen angles of the members (degrees)

    Vector2 maxAngles

    The upper bound of the screen angles of the members (degrees)

    Vector2 zRange

    The min and max depth values of the members, relative to the observer

    GetViewSpaceBoundingBox(Matrix4x4, bool)

    The axis-aligned bounding box of the group, in a specific reference frame. Note that this result is only valid after DoUpdate has been called. If members are added or removed after that call or change their weights or active state, this will not necessarily return correct information before the next update.

    Declaration
    public Bounds GetViewSpaceBoundingBox(Matrix4x4 observer, bool includeBehind)
    Parameters
    Type Name Description
    Matrix4x4 observer

    The frame of reference in which to compute the bounding box

    bool includeBehind

    If true, members behind the observer (negative z) will be included

    Returns
    Type Description
    Bounds

    The axis-aligned bounding box of the group, in the desired frame of reference

    GetWeightedBoundsForMember(int)

    Get the bounding sphere of a group member, with the weight taken into account. As the member's weight goes to 0, the position interpolates to the group average position. Note that this result is only valid after DoUpdate has been called. If members are added or removed after that call or change their weights or active state, this will not necessarily return correct information before the next update.

    Declaration
    public BoundingSphere GetWeightedBoundsForMember(int index)
    Parameters
    Type Name Description
    int index

    Member index

    Returns
    Type Description
    BoundingSphere

    The weighted bounding sphere

    RemoveMember(Transform)

    Remove a member from the group

    Declaration
    public void RemoveMember(Transform t)
    Parameters
    Type Name Description
    Transform t

    The member to remove

    Implements

    ICinemachineTargetGroup
    In This Article
    Back to top
    Copyright © 2025 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)