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.
Inherited Members
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
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
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
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
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 |