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

    Class CinemachineOrbitalTransposer

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

    This component is typically used to implement a camera that follows its target. It can accept player input from an input device, which allows the player to dynamically control the relationship between the camera and the target, for example with a joystick.

    The OrbitalTransposer introduces the concept of Heading, which is the direction in which the target is moving, and the OrbitalTransposer will attempt to position the camera in relationship to the heading, which is by default directly behind the target. You can control the default relationship by adjusting the Heading Bias setting.

    If you attach an input controller to the OrbitalTransposer, then the player can also control the way the camera positions itself in relation to the target heading. This allows the camera to move to any spot on an orbit around the target.

    Inheritance
    Object
    Object
    Component
    Behaviour
    MonoBehaviour
    CinemachineComponentBase
    CinemachineTransposer
    CinemachineOrbitalTransposer
    Inherited Members
    CinemachineTransposer.m_BindingMode
    CinemachineTransposer.m_FollowOffset
    CinemachineTransposer.m_XDamping
    CinemachineTransposer.m_YDamping
    CinemachineTransposer.m_ZDamping
    CinemachineTransposer.m_AngularDampingMode
    CinemachineTransposer.m_PitchDamping
    CinemachineTransposer.m_YawDamping
    CinemachineTransposer.m_RollDamping
    CinemachineTransposer.m_AngularDamping
    CinemachineTransposer.HideOffsetInInspector
    CinemachineTransposer.EffectiveOffset
    CinemachineTransposer.IsValid
    CinemachineTransposer.Stage
    CinemachineTransposer.InitPrevFrameStateInfo(CameraState, Single)
    CinemachineTransposer.TrackTarget(Single, Vector3, Vector3, Vector3, Quaternion)
    CinemachineTransposer.Damping
    CinemachineTransposer.AngularDamping
    CinemachineTransposer.GetReferenceOrientation(Vector3)
    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.PrePipelineMutateCameraState(CameraState, Single)
    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 CinemachineOrbitalTransposer : CinemachineTransposer

    Fields

    m_Heading

    The definition of Forward. Camera will follow behind.

    Declaration
    [Space]
    [Tooltip("The definition of Forward.  Camera will follow behind.")]
    public CinemachineOrbitalTransposer.Heading m_Heading
    Field Value
    Type Description
    CinemachineOrbitalTransposer.Heading

    m_HeadingIsSlave

    Drive the x-axis setting programmatically. Automatic heading updating will be disabled.

    Declaration
    [HideInInspector]
    public bool m_HeadingIsSlave
    Field Value
    Type Description
    Boolean

    m_RecenterToTargetHeading

    Parameters that control Automating Heading Recentering

    Declaration
    [Tooltip("Automatic heading recentering.  The settings here defines how the camera will reposition itself in the absence of player input.")]
    public AxisState.Recentering m_RecenterToTargetHeading
    Field Value
    Type Description
    AxisState.Recentering

    m_XAxis

    Axis representing the current heading. Value is in degrees and represents a rotation about the up vector

    Declaration
    [Tooltip("Heading Control.  The settings here control the behaviour of the camera in response to the player's input.")]
    public AxisState m_XAxis
    Field Value
    Type Description
    AxisState

    Methods

    GetAxisClosestValue(Vector3, Vector3)

    What axis value would we need to get as close as possible to the desired cameraPos?

    Declaration
    public float GetAxisClosestValue(Vector3 cameraPos, Vector3 up)
    Parameters
    Type Name Description
    Vector3 cameraPos

    camera position we would like to approximate

    Vector3 up

    world up

    Returns
    Type Description
    Single

    The best value to put into the X axis, to approximate the desired camera pos

    GetTargetCameraPosition(Vector3)

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

    Declaration
    public override Vector3 GetTargetCameraPosition(Vector3 worldUp)
    Parameters
    Type Name Description
    Vector3 worldUp
    Returns
    Type Description
    Vector3
    Overrides
    CinemachineTransposer.GetTargetCameraPosition(Vector3)

    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

    Single deltaTime

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

    Overrides
    CinemachineTransposer.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
    CinemachineTransposer.OnTargetObjectWarped(Transform, Vector3)

    OnTransitionFromCamera(ICinemachineCamera, Vector3, Single, ref CinemachineVirtualCameraBase.TransitionParams)

    Notification that this virtual camera is going live. Base class implementation does nothing.

    Declaration
    public override bool OnTransitionFromCamera(ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime, ref CinemachineVirtualCameraBase.TransitionParams transitionParams)
    Parameters
    Type Name Description
    ICinemachineCamera fromCam

    The camera being deactivated. May be null.

    Vector3 worldUp

    Default world Up, set by the CinemachineBrain

    Single deltaTime

    Delta time for time-based effects (ignore if less than or equal to 0)

    CinemachineVirtualCameraBase.TransitionParams transitionParams
    Returns
    Type Description
    Boolean

    True if the vcam should do an internal update as a result of this call

    Overrides
    CinemachineComponentBase.OnTransitionFromCamera(ICinemachineCamera, Vector3, Single, ref CinemachineVirtualCameraBase.TransitionParams)

    OnValidate()

    Declaration
    protected override void OnValidate()
    Overrides
    CinemachineTransposer.OnValidate()

    UpdateHeading(Single, Vector3, ref AxisState)

    Update the X axis and calculate the heading. This can be called by a delegate with a custom axis. Note that this method is obsolete. Used for damping. If less than 0, no damping is done. World Up, set by the CinemachineBrain Axis value

    Declaration
    public float UpdateHeading(float deltaTime, Vector3 up, ref AxisState axis)
    Parameters
    Type Name Description
    Single deltaTime
    Vector3 up
    AxisState axis
    Returns
    Type Description
    Single

    UpdateHeading(Single, Vector3, ref AxisState, ref AxisState.Recentering, Boolean)

    Declaration
    public float UpdateHeading(float deltaTime, Vector3 up, ref AxisState axis, ref AxisState.Recentering recentering, bool isLive)
    Parameters
    Type Name Description
    Single deltaTime
    Vector3 up
    AxisState axis
    AxisState.Recentering recentering
    Boolean isLive
    Returns
    Type Description
    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