Class CinemachineComponentBase
An abstract representation of a mutator acting on a CinemachineCamera
Inherited Members
Namespace: Unity.Cinemachine
Assembly: Unity.Cinemachine.dll
Syntax
[ExecuteAlways]
public abstract class CinemachineComponentBase : MonoBehaviour
Fields
Epsilon
Useful constant for very small floats
Declaration
protected const float Epsilon = 0.0001
Field Value
Type | Description |
---|---|
float |
Properties
BodyAppliesAfterAim
Special for Body Stage components that want to be applied after Aim stage because they use the aim as inout for the procedural placement
Declaration
public virtual bool BodyAppliesAfterAim { get; }
Property Value
Type | Description |
---|---|
bool |
FollowTarget
Returns the owner vcam's Follow target.
Declaration
public Transform FollowTarget { get; }
Property Value
Type | Description |
---|---|
Transform |
FollowTargetAsGroup
Get Follow target as ICinemachineTargetGroup, or null if target is not a group
Declaration
public ICinemachineTargetGroup FollowTargetAsGroup { get; }
Property Value
Type | Description |
---|---|
ICinemachineTargetGroup |
FollowTargetPosition
Get the position of the Follow target. Special handling: If the Follow target is a VirtualCamera, returns the vcam State's position, not the transform's position
Declaration
public Vector3 FollowTargetPosition { get; }
Property Value
Type | Description |
---|---|
Vector3 |
FollowTargetRotation
Get the rotation of the Follow target. Special handling: If the Follow target is a VirtualCamera, returns the vcam State's rotation, not the transform's rotation
Declaration
public Quaternion FollowTargetRotation { get; }
Property Value
Type | Description |
---|---|
Quaternion |
IsValid
Returns true if this object is enabled and set up to produce results.
Declaration
public abstract bool IsValid { get; }
Property Value
Type | Description |
---|---|
bool |
LookAtTarget
Returns the owner vcam's LookAt target.
Declaration
public Transform LookAtTarget { get; }
Property Value
Type | Description |
---|---|
Transform |
LookAtTargetAsGroup
Get LookAt target as ICinemachineTargetGroup, or null if target is not a group
Declaration
public ICinemachineTargetGroup LookAtTargetAsGroup { get; }
Property Value
Type | Description |
---|---|
ICinemachineTargetGroup |
LookAtTargetPosition
Get the position of the LookAt target. Special handling: If the LookAt target is a VirtualCamera, returns the vcam State's position, not the transform's position
Declaration
public Vector3 LookAtTargetPosition { get; }
Property Value
Type | Description |
---|---|
Vector3 |
LookAtTargetRotation
Get the rotation of the LookAt target. Special handling: If the LookAt target is a VirtualCamera, returns the vcam State's rotation, not the transform's rotation
Declaration
public Quaternion LookAtTargetRotation { get; }
Property Value
Type | Description |
---|---|
Quaternion |
Stage
What part of the pipeline this fits into
Declaration
public abstract CinemachineCore.Stage Stage { get; }
Property Value
Type | Description |
---|---|
CinemachineCore.Stage |
VcamState
Returns the owner vcam's CameraState.
Declaration
public CameraState VcamState { get; }
Property Value
Type | Description |
---|---|
CameraState |
VirtualCamera
Get the associated CinemachineVirtualCameraBase
Declaration
public CinemachineVirtualCameraBase VirtualCamera { get; }
Property Value
Type | Description |
---|---|
CinemachineVirtualCameraBase |
Methods
ForceCameraPosition(Vector3, Quaternion)
Force the virtual camera to assume a given position and orientation.
Procedural placement then takes over.
Base class implementation does nothing.
Declaration
public virtual void ForceCameraPosition(Vector3 pos, Quaternion rot)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | pos | World-space position to take |
Quaternion | rot | World-space orientation to take |
GetMaxDampTime()
Report maximum damping time needed for this component. Only used in editor for timeline scrubbing.
Declaration
public virtual float GetMaxDampTime()
Returns
Type | Description |
---|---|
float | Highest damping setting in this component |
MutateCameraState(ref CameraState, float)
Mutates the camera state. This state will later be applied to the camera.
Declaration
public abstract void MutateCameraState(ref CameraState curState, float deltaTime)
Parameters
Type | Name | Description |
---|---|---|
CameraState | curState | Input state that must be mutated |
float | deltaTime | Delta time for time-based effects (ignore if less than 0) |
OnDisable()
Standard OnDisable call. Derived classes should call the base class implementation. Handles pipeline validation.
Declaration
protected virtual void OnDisable()
OnEnable()
Standard OnEnable call. Derived classes should call the base class implementation. Handles pipeline validation.
Declaration
protected virtual void OnEnable()
OnTargetObjectWarped(Transform, Vector3)
This is called to notify the component that a target got warped, so that the component can update its internal state to make the camera also warp seamlessly. Base class implementation does nothing.
Declaration
public virtual 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 |
OnTransitionFromCamera(ICinemachineCamera, Vector3, float)
Notification that this virtual camera is going live. Base class implementation does nothing.
Declaration
public virtual bool OnTransitionFromCamera(ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime)
Parameters
Type | Name | Description |
---|---|---|
ICinemachineCamera | fromCam | The camera being deactivated. May be null. |
Vector3 | worldUp | Default world Up, set by the CinemachineBrain |
float | deltaTime | Delta time for time-based effects (ignore if less than or equal to 0) |
Returns
Type | Description |
---|---|
bool | True if the vcam should do an internal update as a result of this call |
PrePipelineMutateCameraState(ref CameraState, float)
Override this to do such things as offset the ReferenceLookAt. Base class implementation does nothing.
Declaration
public virtual void PrePipelineMutateCameraState(ref CameraState curState, float deltaTime)
Parameters
Type | Name | Description |
---|---|---|
CameraState | curState | Input state that must be mutated |
float | deltaTime | Current effective deltaTime |