Class CinemachineComposer | Package Manager UI website
docs.unity3d.com
    Show / Hide Table of Contents

    Class CinemachineComposer

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

    The composer does not change the camera's position. It will only pan and tilt the camera where it is, in order to get the desired framing. To move the camera, you have to use the virtual camera's Body section.

    Inheritance
    MonoBehaviour
    CinemachineComponentBase
    CinemachineComposer
    CinemachineGroupComposer
    Inherited Members
    CinemachineComponentBase.Epsilon
    CinemachineComponentBase.VirtualCamera
    CinemachineComponentBase.FollowTarget
    CinemachineComponentBase.LookAtTarget
    CinemachineComponentBase.FollowTargetPosition
    CinemachineComponentBase.FollowTargetRotation
    CinemachineComponentBase.LookAtTargetPosition
    CinemachineComponentBase.LookAtTargetRotation
    CinemachineComponentBase.VcamState
    Namespace: Cinemachine
    Syntax
    [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)]
    public class CinemachineComposer : CinemachineComponentBase

    Fields

    m_BiasX

    A non-zero bias will move the targt position away from the center of the soft zone

    Declaration
    public float m_BiasX
    Field Value
    Type Description
    System.Single

    m_BiasY

    A non-zero bias will move the targt position away from the center of the soft zone

    Declaration
    public float m_BiasY
    Field Value
    Type Description
    System.Single

    m_DeadZoneHeight

    Camera will not rotate vertically if the target is within this range of the position

    Declaration
    public float m_DeadZoneHeight
    Field Value
    Type Description
    System.Single

    m_DeadZoneWidth

    Camera will not rotate horizontally if the target is within this range of the position

    Declaration
    public float m_DeadZoneWidth
    Field Value
    Type Description
    System.Single

    m_HorizontalDamping

    How aggressively the camera tries to follow the target in the screen-horizontal direction. Small numbers are more responsive, rapidly orienting the camera to keep the target in the dead zone. Larger numbers give a more heavy slowly responding camera. Using different vertical and horizontal settings can yield a wide range of camera behaviors.

    Declaration
    public float m_HorizontalDamping
    Field Value
    Type Description
    System.Single

    m_LookaheadIgnoreY

    If checked, movement along the Y axis will be ignored for lookahead calculations

    Declaration
    public bool m_LookaheadIgnoreY
    Field Value
    Type Description
    System.Boolean

    m_LookaheadSmoothing

    Controls the smoothness of the lookahead algorithm. Larger values smooth out jittery predictions and also increase prediction lag

    Declaration
    public float m_LookaheadSmoothing
    Field Value
    Type Description
    System.Single

    m_LookaheadTime

    This setting will instruct the composer to adjust its target offset based on the motion of the target. The composer will look at a point where it estimates the target will be this many seconds into the future. Note that this setting is sensitive to noisy animation, and can amplify the noise, resulting in undesirable camera jitter. If the camera jitters unacceptably when the target is in motion, turn down this setting, or animate the target more smoothly.

    Declaration
    public float m_LookaheadTime
    Field Value
    Type Description
    System.Single

    m_ScreenX

    Horizontal screen position for target. The camera will rotate to the position the tracked object here

    Declaration
    public float m_ScreenX
    Field Value
    Type Description
    System.Single

    m_ScreenY

    Vertical screen position for target, The camera will rotate to to position the tracked object here

    Declaration
    public float m_ScreenY
    Field Value
    Type Description
    System.Single

    m_SoftZoneHeight

    When target is within this region, camera will gradually move to re-align towards the desired position, depending onm the damping speed

    Declaration
    public float m_SoftZoneHeight
    Field Value
    Type Description
    System.Single

    m_SoftZoneWidth

    When target is within this region, camera will gradually move to re-align towards the desired position, depending onm the damping speed

    Declaration
    public float m_SoftZoneWidth
    Field Value
    Type Description
    System.Single

    m_TrackedObjectOffset

    Target offset from the object's center in LOCAL space which the Composer tracks. Use this to fine-tune the tracking target position when the desired area is not in the tracked object's center

    Declaration
    public Vector3 m_TrackedObjectOffset
    Field Value
    Type Description
    Vector3

    m_VerticalDamping

    How aggressively the camera tries to follow the target in the screen-vertical direction. Small numbers are more responsive, rapidly orienting the camera to keep the target in the dead zone. Larger numbers give a more heavy slowly responding camera. Using different vertical and horizontal settings can yield a wide range of camera behaviors.

    Declaration
    public float m_VerticalDamping
    Field Value
    Type Description
    System.Single

    OnGUICallback

    Used by the Inspector Editor to display on-screen guides.

    Declaration
    public Action OnGUICallback
    Field Value
    Type Description
    Action

    Properties

    HardGuideRect

    Internal API for the inspector editor

    Declaration
    public Rect HardGuideRect { get; set; }
    Property Value
    Type Description
    Rect

    IsValid

    True if component is enabled and has a LookAt defined

    Declaration
    public override bool IsValid { get; }
    Property Value
    Type Description
    System.Boolean
    Overrides
    CinemachineComponentBase.IsValid

    SoftGuideRect

    Internal API for the inspector editor

    Declaration
    public Rect SoftGuideRect { get; set; }
    Property Value
    Type Description
    Rect

    Stage

    Get the Cinemachine Pipeline stage that this component implements. Always returns the Aim stage

    Declaration
    public override CinemachineCore.Stage Stage { get; }
    Property Value
    Type Description
    CinemachineCore.Stage
    Overrides
    CinemachineComponentBase.Stage

    TrackedPoint

    Internal API for inspector

    Declaration
    public Vector3 TrackedPoint { get; }
    Property Value
    Type Description
    Vector3

    Methods

    GetLookAtPointAndSetTrackedPoint(Vector3)

    Apply the target offsets to the target location. Also set the TrackedPoint property, taking lookahead into account.

    Declaration
    protected virtual Vector3 GetLookAtPointAndSetTrackedPoint(Vector3 lookAt)
    Parameters
    Type Name Description
    Vector3 lookAt

    The unoffset LookAt point

    Returns
    Type Description
    Vector3

    The LookAt point with the offset applied

    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

    System.Single deltaTime

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

    Overrides
    CinemachineComponentBase.MutateCameraState(ref CameraState, Single)

    OnTargetObjectWarped(Transform, Vector3)

    This is called to notify the us that a target got warped, so that we can update its internal state to make the camera also warp seamlessy.

    Declaration
    public override void OnTargetObjectWarped(Transform target, Vector3 positionDelta)
    Parameters
    Type Name Description
    Transform target

    The object that was warped

    Vector3 positionDelta

    The amount the target's position changed

    Overrides
    CinemachineComponentBase.OnTargetObjectWarped(Transform, Vector3)

    PrePipelineMutateCameraState(ref CameraState)

    Declaration
    public override void PrePipelineMutateCameraState(ref CameraState curState)
    Parameters
    Type Name Description
    CameraState curState
    Overrides
    CinemachineComponentBase.PrePipelineMutateCameraState(ref CameraState)
    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