Class CinemachineTrackedDolly
A Cinemachine Virtual Camera Body component that constrains camera motion to a CinemachinePath. The camera can move along the path.
This behaviour can operate in two modes: manual positioning, and Auto-Dolly positioning. In Manual mode, the camera's position is specified by animating the Path Position field. In Auto-Dolly mode, the Path Position field is animated automatically every frame by finding the position on the path that's closest to the virtual camera's Follow target.
Inheritance
Inherited Members
Namespace: Cinemachine
Syntax
[DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)]
[AddComponentMenu("")]
public class CinemachineTrackedDolly : CinemachineComponentBase
Fields
m_AutoDolly
Controls how automatic dollying occurs
Declaration
[Tooltip("Controls how automatic dollying occurs. A Follow target is necessary to use this feature.")]
public CinemachineTrackedDolly.AutoDolly m_AutoDolly
Field Value
Type | Description |
---|---|
CinemachineTrackedDolly.AutoDolly |
m_CameraUp
How to set the virtual camera's Up vector. This will affect the screen composition.
Declaration
[Tooltip("How to set the virtual camera's Up vector. This will affect the screen composition, because the camera Aim behaviours will always try to respect the Up direction.")]
public CinemachineTrackedDolly.CameraUpMode m_CameraUp
Field Value
Type | Description |
---|---|
CinemachineTrackedDolly.CameraUpMode |
m_Path
The path to which the camera will be constrained. This must be non-null.
Declaration
[Tooltip("The path to which the camera will be constrained. This must be non-null.")]
public CinemachinePathBase m_Path
Field Value
Type | Description |
---|---|
CinemachinePathBase |
m_PathOffset
Where to put the camera realtive to the path postion. X is perpendicular to the path, Y is up, and Z is parallel to the path.
Declaration
[Tooltip("Where to put the camera relative to the path position. X is perpendicular to the path, Y is up, and Z is parallel to the path. This allows the camera to be offset from the path itself (as if on a tripod, for example).")]
public Vector3 m_PathOffset
Field Value
Type | Description |
---|---|
Vector3 |
m_PathPosition
The position along the path at which the camera will be placed. This can be animated directly, or set automatically by the Auto-Dolly feature to get as close as possible to the Follow target.
Declaration
[Tooltip("The position along the path at which the camera will be placed. This can be animated directly, or set automatically by the Auto-Dolly feature to get as close as possible to the Follow target. The value is interpreted according to the Position Units setting.")]
public float m_PathPosition
Field Value
Type | Description |
---|---|
Single |
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
[Range(0F, 20F)]
[Tooltip("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.")]
public float m_PitchDamping
Field Value
Type | Description |
---|---|
Single |
m_PositionUnits
How to interpret the Path Position
Declaration
[Tooltip("How to interpret Path Position. If set to Path Units, values are as follows: 0 represents the first waypoint on the path, 1 is the second, and so on. Values in-between are points on the path in between the waypoints. If set to Distance, then Path Position represents distance along the path.")]
public CinemachinePathBase.PositionUnits m_PositionUnits
Field Value
Type | Description |
---|---|
CinemachinePathBase.PositionUnits |
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
[Range(0F, 20F)]
[Tooltip("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.")]
public float m_RollDamping
Field Value
Type | Description |
---|---|
Single |
m_XDamping
How aggressively the camera tries to maintain the offset perpendicular to the path. 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
[Range(0F, 20F)]
[Tooltip("How aggressively the camera tries to maintain its position in a direction perpendicular to the path. 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.")]
public float m_XDamping
Field Value
Type | Description |
---|---|
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
[Range(0F, 20F)]
[Tooltip("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.")]
public float m_YawDamping
Field Value
Type | Description |
---|---|
Single |
m_YDamping
How aggressively the camera tries to maintain the offset in the path-local up direction. 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
[Range(0F, 20F)]
[Tooltip("How aggressively the camera tries to maintain its position in the path-local up direction. 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.")]
public float m_YDamping
Field Value
Type | Description |
---|---|
Single |
m_ZDamping
How aggressively the camera tries to maintain the offset parallel to the path. 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
[Range(0F, 20F)]
[Tooltip("How aggressively the camera tries to maintain its position in a direction parallel to the path. 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.")]
public float m_ZDamping
Field Value
Type | Description |
---|---|
Single |
Properties
IsValid
True if component is enabled and has a path
Declaration
public override bool IsValid { get; }
Property Value
Type | Description |
---|---|
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
GetMaxDampTime()
Report maximum damping time needed for this component.
Declaration
public override float GetMaxDampTime()
Returns
Type | Description |
---|---|
Single | Highest damping setting in this component |
Overrides
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 that 0, no damping is done. |