Class CinemachineGroupComposer | Cinemachine | 2.5.0
docs.unity3d.com
    Show / Hide Table of Contents

    Class CinemachineGroupComposer

    This is a CinemachineComponent in the Aim section of the component pipeline. Its job is to aim the camera at a target object, with configurable offsets, damping, and composition rules.

    In addition, if the target is a ICinemachineTargetGroup, the behaviour will adjust the FOV and the camera distance to ensure that the entire group of targets is framed properly.

    Inheritance
    Object
    Object
    Component
    Behaviour
    MonoBehaviour
    CinemachineComponentBase
    CinemachineComposer
    CinemachineGroupComposer
    Inherited Members
    CinemachineComposer.m_TrackedObjectOffset
    CinemachineComposer.m_LookaheadTime
    CinemachineComposer.m_LookaheadSmoothing
    CinemachineComposer.m_LookaheadIgnoreY
    CinemachineComposer.m_HorizontalDamping
    CinemachineComposer.m_VerticalDamping
    CinemachineComposer.m_ScreenX
    CinemachineComposer.m_ScreenY
    CinemachineComposer.m_DeadZoneWidth
    CinemachineComposer.m_DeadZoneHeight
    CinemachineComposer.m_SoftZoneWidth
    CinemachineComposer.m_SoftZoneHeight
    CinemachineComposer.m_BiasX
    CinemachineComposer.m_BiasY
    CinemachineComposer.m_CenterOnActivate
    CinemachineComposer.IsValid
    CinemachineComposer.Stage
    CinemachineComposer.TrackedPoint
    CinemachineComposer.GetLookAtPointAndSetTrackedPoint(Vector3, Vector3, Single)
    CinemachineComposer.OnTargetObjectWarped(Transform, Vector3)
    CinemachineComposer.PrePipelineMutateCameraState(CameraState, Single)
    CinemachineComponentBase.Epsilon
    CinemachineComponentBase.VirtualCamera
    CinemachineComponentBase.FollowTarget
    CinemachineComponentBase.LookAtTarget
    CinemachineComponentBase.AbstractFollowTargetGroup
    CinemachineComponentBase.FollowTargetGroup
    CinemachineComponentBase.FollowTargetPosition
    CinemachineComponentBase.FollowTargetRotation
    CinemachineComponentBase.AbstractLookAtTargetGroup
    CinemachineComponentBase.LookAtTargetGroup
    CinemachineComponentBase.LookAtTargetPosition
    CinemachineComponentBase.LookAtTargetRotation
    CinemachineComponentBase.VcamState
    CinemachineComponentBase.OnTransitionFromCamera(ICinemachineCamera, Vector3, Single, CinemachineVirtualCameraBase.TransitionParams)
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(String, Single)
    MonoBehaviour.InvokeRepeating(String, Single, Single)
    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.useGUILayout
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, Component)
    Component.TryGetComponent<T>(T)
    Component.GetComponent(String)
    Component.GetComponentInChildren(Type, Boolean)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(Boolean)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, Boolean)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(Boolean)
    Component.GetComponentsInChildren<T>(Boolean, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, Boolean)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(Boolean)
    Component.GetComponentsInParent<T>(Boolean, 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
    Component.rigidbody
    Component.rigidbody2D
    Component.camera
    Component.light
    Component.animation
    Component.constantForce
    Component.renderer
    Component.audio
    Component.networkView
    Component.collider
    Component.collider2D
    Component.hingeJoint
    Component.particleSystem
    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, Boolean)
    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, Boolean)
    Object.Destroy(Object, Single)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, Boolean)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, Boolean)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, Single)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    UnityEngine.Object.FindObjectsOfType<T>(System.Boolean)
    Object.FindObjectOfType<T>()
    UnityEngine.Object.FindObjectOfType<T>(System.Boolean)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindObjectOfType(Type, Boolean)
    Object.ToString()
    Object.name
    Object.hideFlags
    Namespace: Cinemachine
    Syntax
    [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)]
    [AddComponentMenu("")]
    public class CinemachineGroupComposer : CinemachineComposer

    Fields

    m_AdjustmentMode

    How to adjust the camera to get the desired framing

    Declaration
    [Tooltip("How to adjust the camera to get the desired framing.  You can zoom, dolly in/out, or do both.")]
    public CinemachineGroupComposer.AdjustmentMode m_AdjustmentMode
    Field Value
    Type Description
    CinemachineGroupComposer.AdjustmentMode

    m_FrameDamping

    How aggressively the camera tries to frame the group. Small numbers are more responsive

    Declaration
    [Range(0F, 20F)]
    [Tooltip("How aggressively the camera tries to frame the group. Small numbers are more responsive, rapidly adjusting the camera to keep the group in the frame.  Larger numbers give a more heavy slowly responding camera.")]
    public float m_FrameDamping
    Field Value
    Type Description
    Single

    m_FramingMode

    What screen dimensions to consider when framing

    Declaration
    [Tooltip("What screen dimensions to consider when framing.  Can be Horizontal, Vertical, or both")]
    public CinemachineGroupComposer.FramingMode m_FramingMode
    Field Value
    Type Description
    CinemachineGroupComposer.FramingMode

    m_GroupFramingSize

    How much of the screen to fill with the bounding box of the targets.

    Declaration
    [Space]
    [Tooltip("The bounding box of the targets should occupy this amount of the screen space.  1 means fill the whole screen.  0.5 means fill half the screen, etc.")]
    public float m_GroupFramingSize
    Field Value
    Type Description
    Single

    m_MaxDollyIn

    How much closer to the target can the camera go?

    Declaration
    [Tooltip("The maximum distance toward the target that this behaviour is allowed to move the camera.")]
    public float m_MaxDollyIn
    Field Value
    Type Description
    Single

    m_MaxDollyOut

    How much farther from the target can the camera go?

    Declaration
    [Tooltip("The maximum distance away the target that this behaviour is allowed to move the camera.")]
    public float m_MaxDollyOut
    Field Value
    Type Description
    Single

    m_MaximumDistance

    Set this to limit how far from the taregt the camera can get

    Declaration
    [Tooltip("Set this to limit how far from the target the camera can get.")]
    public float m_MaximumDistance
    Field Value
    Type Description
    Single

    m_MaximumFOV

    If adjusting FOV, will not set the FOV higher than this

    Declaration
    [Range(1F, 179F)]
    [Tooltip("If adjusting FOV, will not set the FOV higher than this.")]
    public float m_MaximumFOV
    Field Value
    Type Description
    Single

    m_MaximumOrthoSize

    If adjusting Orthographic Size, will not set it higher than this

    Declaration
    [Tooltip("If adjusting Orthographic Size, will not set it higher than this.")]
    public float m_MaximumOrthoSize
    Field Value
    Type Description
    Single

    m_MinimumDistance

    Set this to limit how close to the target the camera can get

    Declaration
    [Tooltip("Set this to limit how close to the target the camera can get.")]
    public float m_MinimumDistance
    Field Value
    Type Description
    Single

    m_MinimumFOV

    If adjusting FOV, will not set the FOV lower than this

    Declaration
    [Range(1F, 179F)]
    [Tooltip("If adjusting FOV, will not set the FOV lower than this.")]
    public float m_MinimumFOV
    Field Value
    Type Description
    Single

    m_MinimumOrthoSize

    If adjusting Orthographic Size, will not set it lower than this

    Declaration
    [Tooltip("If adjusting Orthographic Size, will not set it lower than this.")]
    public float m_MinimumOrthoSize
    Field Value
    Type Description
    Single

    Properties

    LastBounds

    For editor visulaization of the calculated bounding box of the group

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

    LastBoundsMatrix

    For editor visualization of the calculated bounding box of the group

    Declaration
    public Matrix4x4 LastBoundsMatrix { get; }
    Property Value
    Type Description
    Matrix4x4

    Methods

    MutateCameraState(ref CameraState, Single)

    Applies the composer rules and orients the camera accordingly

    Declaration
    public override void MutateCameraState(ref CameraState curState, float deltaTime)
    Parameters
    Type Name Description
    CameraState curState

    The current camera state

    Single deltaTime

    Used for calculating damping. If less than zero, then target will snap to the center of the dead zone.

    Overrides
    CinemachineComposer.MutateCameraState(ref CameraState, Single)
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023