docs.unity3d.com
    Show / Hide Table of Contents

    Class Cinemachine3rdPersonFollow

    Third-person follower, with complex pivoting: horizontal about the origin, vertical about the shoulder.

    Inheritance
    Object
    CinemachineComponentBase
    Cinemachine3rdPersonFollow
    Inherited Members
    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)
    CinemachineComponentBase.BodyAppliesAfterAim
    CinemachineComponentBase.OnTransitionFromCamera(ICinemachineCamera, Vector3, Single, CinemachineVirtualCameraBase.TransitionParams)
    CinemachineComponentBase.ForceCameraPosition(Vector3, Quaternion)
    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
    CinemachineComponentBase.IsValid

    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
    CinemachineComponentBase.Stage

    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
    CinemachineComponentBase.GetMaxDampTime()

    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.
    If negative, previous state is reset.

    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)
    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