Class Cinemachine3rdPersonFollow
Third-person follower, with complex pivoting: horizontal about the origin, vertical about the shoulder.
Inherited Members
Namespace: Cinemachine
Syntax
public class Cinemachine3rdPersonFollow : CinemachineComponentBase
Fields
CameraCollisionFilter
Camera will avoid obstacles on these layers.
Declaration
public LayerMask CameraCollisionFilter
Field Value
Type | Description |
---|---|
LayerMask |
CameraDistance
How far baehind the hand the camera will be placed.
Declaration
public float CameraDistance
Field Value
Type | Description |
---|---|
Single |
CameraRadius
Specifies how close the camera can get to obstacles
Declaration
public float CameraRadius
Field Value
Type | Description |
---|---|
Single |
CameraSide
Specifies which shoulder (left, right, or in-between) the camera is on.
Declaration
public float CameraSide
Field Value
Type | Description |
---|---|
Single |
Damping
How responsively the camera tracks the target. Each axis (camera-local) can have its own setting. Value is the approximate time it takes the camera to catch up to the target's new position. Smaller values give a more rigid effect, larger values give a squishier one.
Declaration
public Vector3 Damping
Field Value
Type | Description |
---|---|
Vector3 |
IgnoreTag
Obstacles with this tag will be ignored. It is a good idea to set this field to the target's tag
Declaration
public string IgnoreTag
Field Value
Type | Description |
---|---|
String |
ShoulderOffset
Position of the shoulder pivot relative to the Follow target origin.
This offset is in target-local space.
Declaration
public Vector3 ShoulderOffset
Field Value
Type | Description |
---|---|
Vector3 |
VerticalArmLength
Vertical offset of the hand in relation to the shoulder.
Arm length will affect the follow target's screen position
when the camera rotates vertically.
Declaration
public float VerticalArmLength
Field Value
Type | Description |
---|---|
Single |
Properties
IsValid
True if component is enabled and has a Follow target defined
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 Aim 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
GetRigPositions(out Vector3, out Vector3, out Vector3)
Internal use only. Public for the inspector gizmo
Declaration
public void GetRigPositions(out Vector3 root, out Vector3 shoulder, out Vector3 hand)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | root | Root of the rig. |
Vector3 | shoulder | Shoulder of the rig. |
Vector3 | hand | Hand of the rig. |
MutateCameraState(ref CameraState, Single)
Orients the camera to match the Follow target's orientation
Declaration
public override void MutateCameraState(ref CameraState curState, float deltaTime)
Parameters
Type | Name | Description |
---|---|---|
CameraState | curState | The current camera state |
Single | deltaTime | Elapsed time since last frame, for damping calculations. |
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 |