Class CinemachineCollider
This is a deprecated component. Use CinemachineDeoccluder instead.
Inheritance
Implements
Inherited Members
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
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
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 |