docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class CinemachineCollider

    This is a deprecated component. Use CinemachineDeoccluder instead.

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    CinemachineExtension
    CinemachineCollider
    Implements
    IShotQualityEvaluator
    Inherited Members
    CinemachineExtension.Epsilon
    CinemachineExtension.ComponentOwner
    CinemachineExtension.Awake()
    CinemachineExtension.OnEnable()
    CinemachineExtension.ConnectToVcam(bool)
    CinemachineExtension.PrePipelineMutateCameraStateCallback(CinemachineVirtualCameraBase, ref CameraState, float)
    CinemachineExtension.InvokePostPipelineStageCallback(CinemachineVirtualCameraBase, CinemachineCore.Stage, ref CameraState, float)
    CinemachineExtension.OnTargetObjectWarped(CinemachineVirtualCameraBase, Transform, Vector3)
    CinemachineExtension.ForceCameraPosition(Vector3, Quaternion)
    CinemachineExtension.OnTransitionFromCamera(ICinemachineCamera, Vector3, float)
    CinemachineExtension.GetExtraState<T>(CinemachineVirtualCameraBase)
    CinemachineExtension.GetAllExtraStates<T>(List<T>)
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(string, float)
    MonoBehaviour.InvokeRepeating(string, float, float)
    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.destroyCancellationToken
    MonoBehaviour.useGUILayout
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, out Component)
    Component.TryGetComponent<T>(out T)
    Component.GetComponent(string)
    Component.GetComponentInChildren(Type, bool)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(bool)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, bool)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(bool)
    Component.GetComponentsInChildren<T>(bool, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type, bool)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>(bool)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, bool)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(bool)
    Component.GetComponentsInParent<T>(bool, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.GetComponentIndex()
    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
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.InstantiateAsync<T>(T)
    Object.InstantiateAsync<T>(T, Transform)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int)
    Object.InstantiateAsync<T>(T, int, Transform)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, InstantiateParameters)
    Object.InstantiateAsync<T>(T, int, InstantiateParameters)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion, InstantiateParameters)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion, InstantiateParameters)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, InstantiateParameters)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    Object.Instantiate<T>(T, InstantiateParameters)
    Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    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, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: Unity.Cinemachine
    Assembly: Unity.Cinemachine.dll
    Syntax
    [Obsolete("CinemachineCollider has been deprecated. Use CinemachineDeoccluder instead")]
    [AddComponentMenu("")]
    [ExecuteAlways]
    [DisallowMultipleComponent]
    public class CinemachineCollider : CinemachineExtension, IShotQualityEvaluator

    Fields

    m_AvoidObstacles

    When enabled, will attempt to resolve situations where the line of sight to the target is blocked by an obstacle

    Declaration
    [Space]
    [Tooltip("When enabled, will attempt to resolve situations where the line of sight to the target is blocked by an obstacle")]
    [FormerlySerializedAs("m_PreserveLineOfSight")]
    public bool m_AvoidObstacles
    Field Value
    Type Description
    bool

    m_CameraRadius

    Camera will try to maintain this distance from any obstacle. Increase this value if you are seeing inside obstacles due to a large FOV on the camera.

    Declaration
    [Tooltip("Camera will try to maintain this distance from any obstacle.  Try to keep this value small.  Increase it if you are seeing inside obstacles due to a large FOV on the camera.")]
    public float m_CameraRadius
    Field Value
    Type Description
    float

    m_CollideAgainst

    Objects on these layers will be detected.

    Declaration
    [Header("Obstacle Detection")]
    [Tooltip("Objects on these layers will be detected")]
    public LayerMask m_CollideAgainst
    Field Value
    Type Description
    LayerMask

    m_Damping

    How gradually the camera returns to its normal position after having been corrected. Higher numbers will move the camera more gradually back to normal.

    Declaration
    [Range(0, 10)]
    [Tooltip("How gradually the camera returns to its normal position after having been corrected.  Higher numbers will move the camera more gradually back to normal.")]
    [FormerlySerializedAs("m_Smoothing")]
    public float m_Damping
    Field Value
    Type Description
    float

    m_DampingWhenOccluded

    How gradually the camera moves to resolve an occlusion. Higher numbers will move the camera more gradually.

    Declaration
    [Range(0, 10)]
    [Tooltip("How gradually the camera moves to resolve an occlusion.  Higher numbers will move the camera more gradually.")]
    public float m_DampingWhenOccluded
    Field Value
    Type Description
    float

    m_DistanceLimit

    The raycast distance to test for when checking if the line of sight to this camera's target is clear.

    Declaration
    [Tooltip("The maximum raycast distance when checking if the line of sight to this camera's target is clear.  If the setting is 0 or less, the current actual distance to target will be used.")]
    [FormerlySerializedAs("m_LineOfSightFeelerDistance")]
    public float m_DistanceLimit
    Field Value
    Type Description
    float

    m_IgnoreTag

    Obstacles with this tag will be ignored. It is a good idea to set this field to the target's tag

    Declaration
    [Tooltip("Obstacles with this tag will be ignored.  It is a good idea to set this field to the target's tag")]
    public string m_IgnoreTag
    Field Value
    Type Description
    string

    m_MaximumEffort

    Upper limit on how many obstacle hits to process. Higher numbers may impact performance. In most environments, 4 is enough.

    Declaration
    [Range(1, 10)]
    [Tooltip("Upper limit on how many obstacle hits to process.  Higher numbers may impact performance.  In most environments, 4 is enough.")]
    public int m_MaximumEffort
    Field Value
    Type Description
    int

    m_MinimumDistanceFromTarget

    Obstacles closer to the target than this will be ignored

    Declaration
    [Tooltip("Obstacles closer to the target than this will be ignored")]
    public float m_MinimumDistanceFromTarget
    Field Value
    Type Description
    float

    m_MinimumOcclusionTime

    Don't take action unless occlusion has lasted at least this long.

    Declaration
    [Tooltip("Don't take action unless occlusion has lasted at least this long.")]
    public float m_MinimumOcclusionTime
    Field Value
    Type Description
    float

    m_OptimalTargetDistance

    If greater than zero, a higher score will be given to shots when the target is closer to this distance. Set this to zero to disable this feature

    Declaration
    [Header("Shot Evaluation")]
    [Tooltip("If greater than zero, a higher score will be given to shots when the target is closer to this distance.  Set this to zero to disable this feature.")]
    public float m_OptimalTargetDistance
    Field Value
    Type Description
    float

    m_SmoothingTime

    Smoothing to apply to obstruction resolution. Nearest camera point is held for at least this long.

    Declaration
    [Range(0, 2)]
    [Tooltip("Smoothing to apply to obstruction resolution.  Nearest camera point is held for at least this long")]
    public float m_SmoothingTime
    Field Value
    Type Description
    float

    m_Strategy

    The way in which the Collider will attempt to preserve sight of the target.

    Declaration
    [Tooltip("The way in which the Collider will attempt to preserve sight of the target.")]
    public CinemachineCollider.ResolutionStrategy m_Strategy
    Field Value
    Type Description
    CinemachineCollider.ResolutionStrategy

    m_TransparentLayers

    Objects on these layers will never obstruct view of the target.

    Declaration
    [Tooltip("Objects on these layers will never obstruct view of the target")]
    public LayerMask m_TransparentLayers
    Field Value
    Type Description
    LayerMask

    Methods

    CameraWasDisplaced(CinemachineVirtualCameraBase)

    See whether the virtual camera has been moved nby the collider

    Declaration
    public bool CameraWasDisplaced(CinemachineVirtualCameraBase vcam)
    Parameters
    Type Name Description
    CinemachineVirtualCameraBase vcam

    The virtual camera in question. This might be different from the virtual camera that owns the collider, in the event that the camera has children

    Returns
    Type Description
    bool

    True if the virtual camera has been displaced due to collision or target obstruction

    GetCameraDisplacementDistance(CinemachineVirtualCameraBase)

    See how far the virtual camera wa moved nby the collider

    Declaration
    public float GetCameraDisplacementDistance(CinemachineVirtualCameraBase vcam)
    Parameters
    Type Name Description
    CinemachineVirtualCameraBase vcam

    The virtual camera in question. This might be different from the virtual camera that owns the collider, in the event that the camera has children

    Returns
    Type Description
    float

    True if the virtual camera has been displaced due to collision or target obstruction

    GetMaxDampTime()

    Report maximum damping time needed for this component.

    Declaration
    public override float GetMaxDampTime()
    Returns
    Type Description
    float

    Highest damping setting in this component

    Overrides
    CinemachineExtension.GetMaxDampTime()

    IsTargetObscured(CinemachineVirtualCameraBase)

    See whether an object is blocking the camera's view of the target

    Declaration
    public bool IsTargetObscured(CinemachineVirtualCameraBase vcam)
    Parameters
    Type Name Description
    CinemachineVirtualCameraBase vcam

    The virtual camera in question. This might be different from the virtual camera that owns the collider, in the event that the camera has children

    Returns
    Type Description
    bool

    True if something is blocking the view

    OnDestroy()

    Cleanup

    Declaration
    protected override void OnDestroy()
    Overrides
    CinemachineExtension.OnDestroy()

    PostPipelineStageCallback(CinemachineVirtualCameraBase, Stage, ref CameraState, float)

    Callback to do the collision resolution and shot evaluation

    Declaration
    protected override void PostPipelineStageCallback(CinemachineVirtualCameraBase vcam, CinemachineCore.Stage stage, ref CameraState state, float deltaTime)
    Parameters
    Type Name Description
    CinemachineVirtualCameraBase vcam

    The virtual camera being processed

    CinemachineCore.Stage stage

    The current pipeline stage

    CameraState state

    The current virtual camera state

    float deltaTime

    The current applicable deltaTime

    Overrides
    CinemachineExtension.PostPipelineStageCallback(CinemachineVirtualCameraBase, CinemachineCore.Stage, ref CameraState, float)

    Implements

    IShotQualityEvaluator
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)