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

    Class CinemachineTransposer

    This is a CinemachineComponent in the Body section of the component pipeline. Its job is to position the camera in a fixed relationship to the vcam's Follow target object, with offsets and damping.

    The Tansposer will only change the camera's position in space. It will not re-orient or otherwise aim the camera. To to that, you need to instruct the vcam in the Aim section of its pipeline.

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

    Fields

    m_BindingMode

    The coordinate space to use when interpreting the offset from the target

    Declaration
    public CinemachineTransposer.BindingMode m_BindingMode
    Field Value
    Type Description
    CinemachineTransposer.BindingMode

    m_FollowOffset

    The distance which the transposer will attempt to maintain from the transposer subject

    Declaration
    public Vector3 m_FollowOffset
    Field Value
    Type Description
    Vector3

    m_PitchDamping

    How aggressively the camera tries to track the target rotation's X angle.
    Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera.

    Declaration
    public float m_PitchDamping
    Field Value
    Type Description
    System.Single

    m_RollDamping

    How aggressively the camera tries to track the target rotation's Z angle.
    Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera.

    Declaration
    public float m_RollDamping
    Field Value
    Type Description
    System.Single

    m_XDamping

    How aggressively the camera tries to maintain the offset in the X-axis. Small numbers are more responsive, rapidly translating the camera to keep the target's x-axis offset. Larger numbers give a more heavy slowly responding camera. Using different settings per axis can yield a wide range of camera behaviors

    Declaration
    public float m_XDamping
    Field Value
    Type Description
    System.Single

    m_YawDamping

    How aggressively the camera tries to track the target rotation's Y angle.
    Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera.

    Declaration
    public float m_YawDamping
    Field Value
    Type Description
    System.Single

    m_YDamping

    How aggressively the camera tries to maintain the offset in the Y-axis. Small numbers are more responsive, rapidly translating the camera to keep the target's y-axis offset. Larger numbers give a more heavy slowly responding camera. Using different settings per axis can yield a wide range of camera behaviors

    Declaration
    public float m_YDamping
    Field Value
    Type Description
    System.Single

    m_ZDamping

    How aggressively the camera tries to maintain the offset in the Z-axis. Small numbers are more responsive, rapidly translating the camera to keep the target's z-axis offset. Larger numbers give a more heavy slowly responding camera. Using different settings per axis can yield a wide range of camera behaviors

    Declaration
    public float m_ZDamping
    Field Value
    Type Description
    System.Single

    Properties

    AngularDamping

    Damping speeds for each of the 3 axes of the target's rotation

    Declaration
    protected Vector3 AngularDamping { get; }
    Property Value
    Type Description
    Vector3

    Damping

    Damping speeds for each of the 3 axes of the offset from target

    Declaration
    protected Vector3 Damping { get; }
    Property Value
    Type Description
    Vector3

    EffectiveOffset

    Get the target offset, with sanitization

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

    IsValid

    True if component is enabled and has a valid Follow target

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

    Stage

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

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

    Methods

    GeTargetCameraPosition(Vector3)

    Internal API for the Inspector Editor, so it can draw a marker at the target

    Declaration
    public Vector3 GeTargetCameraPosition(Vector3 worldUp)
    Parameters
    Type Name Description
    Vector3 worldUp
    Returns
    Type Description
    Vector3

    GetReferenceOrientation(Vector3)

    Internal API for the Inspector Editor, so it can draw a marker at the target

    Declaration
    public Quaternion GetReferenceOrientation(Vector3 worldUp)
    Parameters
    Type Name Description
    Vector3 worldUp
    Returns
    Type Description
    Quaternion

    InitPrevFrameStateInfo(ref CameraState, Single)

    Initializes the state for previous frame if appropriate.

    Declaration
    protected void InitPrevFrameStateInfo(ref CameraState curState, float deltaTime)
    Parameters
    Type Name Description
    CameraState curState
    System.Single deltaTime

    MutateCameraState(ref CameraState, Single)

    Positions the virtual camera according to the transposer rules.

    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 damping. If less than 0, no damping is done.

    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)

    OnValidate()

    Derived classes should call this from their OnValidate() implementation

    Declaration
    protected virtual void OnValidate()

    TrackTarget(Single, Vector3, Vector3, out Vector3, out Quaternion)

    Positions the virtual camera according to the transposer rules.

    Declaration
    protected void TrackTarget(float deltaTime, Vector3 up, Vector3 desiredCameraOffset, out Vector3 outTargetPosition, out Quaternion outTargetOrient)
    Parameters
    Type Name Description
    System.Single deltaTime

    Used for damping. If less than 0, no damping is done.

    Vector3 up

    Current camera up

    Vector3 desiredCameraOffset

    Where we want to put the camera relative to the follow target

    Vector3 outTargetPosition

    Resulting camera position

    Quaternion outTargetOrient

    Damped target orientation

    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