Class CinemachineVirtualCamera
This is a deprecated component. Use CinemachineCamera instead.
Inheritance
Inherited Members
Namespace: Unity.Cinemachine
Assembly: Unity.Cinemachine.dll
Syntax
[Obsolete("CinemachineVirtualCamera is deprecated. Use CinemachineCamera instead.")]
[DisallowMultipleComponent]
[ExecuteAlways]
[ExcludeFromPreset]
[AddComponentMenu("")]
public class CinemachineVirtualCamera : CinemachineVirtualCameraBase, ICinemachineCamera, AxisState.IRequiresInput
Fields
BlendHint
Hint for transitioning to and from this CinemachineCamera. Hints can be combined, although not all combinations make sense. In the case of conflicting hints, Cinemachine will make an arbitrary choice.
Declaration
[Tooltip("Hint for transitioning to and from this CinemachineCamera. Hints can be combined, although not all combinations make sense. In the case of conflicting hints, Cinemachine will make an arbitrary choice.")]
public CinemachineCore.BlendHints BlendHint
Field Value
Type | Description |
---|---|
CinemachineCore.BlendHints |
CreatePipelineOverride
Override component pipeline creation. This needs to be done by the editor to support Undo. The override must do exactly the same thing as the CreatePipeline method in this class.
Declaration
public static CinemachineVirtualCamera.CreatePipelineDelegate CreatePipelineOverride
Field Value
Type | Description |
---|---|
CinemachineVirtualCamera.CreatePipelineDelegate |
DestroyPipelineOverride
Override component pipeline destruction. This needs to be done by the editor to support Undo.
Declaration
public static CinemachineVirtualCamera.DestroyPipelineDelegate DestroyPipelineOverride
Field Value
Type | Description |
---|---|
CinemachineVirtualCamera.DestroyPipelineDelegate |
m_Follow
The object that the camera wants to move with (the Body target). The Body component of the CinemachineComponent pipeline will refer to this target and position the vcam in accordance with rules and settings that are provided to it. If this is null, then the vcam's Transform position will be used.
Declaration
[Tooltip("The object that the camera wants to move with (the Body target). If this is null, then the vcam's Transform position will define the camera's position.")]
public Transform m_Follow
Field Value
Type | Description |
---|---|
Transform |
m_Lens
Specifies the LensSettings of this Virtual Camera. These settings will be transferred to the Unity camera when the vcam is live.
Declaration
[Tooltip("Specifies the lens properties of this Virtual Camera. This generally mirrors the Unity Camera's lens settings, and will be used to drive the Unity camera when the vcam is active.")]
[FormerlySerializedAs("m_LensAttributes")]
public LegacyLensSettings m_Lens
Field Value
Type | Description |
---|---|
LegacyLensSettings |
m_LookAt
The object that the camera wants to look at (the Aim target). The Aim component of the CinemachineComponent pipeline will refer to this target and orient the vcam in accordance with rules and settings that are provided to it. If this is null, then the vcam's Transform orientation will be used.
Declaration
[Tooltip("The object that the camera wants to look at (the Aim target). If this is null, then the vcam's Transform orientation will define the camera's orientation.")]
public Transform m_LookAt
Field Value
Type | Description |
---|---|
Transform |
m_OnCameraLiveEvent
This event fires when a transition occurs.
Declaration
[Tooltip("This event fires when a transition occurs")]
public CinemachineLegacyCameraEvents.OnCameraLiveEvent m_OnCameraLiveEvent
Field Value
Type | Description |
---|---|
CinemachineLegacyCameraEvents.OnCameraLiveEvent |
Properties
Follow
Get the Follow target for the Body component in the Cinemachine pipeline. If this vcam is a part of a meta-camera collection, then the owner's target will be used if the local target is null.
Declaration
public override Transform Follow { get; set; }
Property Value
Type | Description |
---|---|
Transform |
Overrides
IsDprecated
Helper for upgrading from CM2
Declaration
protected override bool IsDprecated { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
LookAt
Get the LookAt target for the Aim component in the Cinemachine pipeline. If this vcam is a part of a meta-camera collection, then the owner's target will be used if the local target is null.
Declaration
public override Transform LookAt { get; set; }
Property Value
Type | Description |
---|---|
Transform |
Overrides
State
The CameraState object holds all of the information necessary to position the Unity camera. It is the output of this class.
Declaration
public override CameraState State { get; }
Property Value
Type | Description |
---|---|
CameraState |
Overrides
Methods
AddCinemachineComponent<T>()
Add a component to the cinemachine pipeline.
Existing components at the new component's stage are removed
Declaration
public T AddCinemachineComponent<T>() where T : CinemachineComponentBase
Returns
Type | Description |
---|---|
T | The new component |
Type Parameters
Name | Description |
---|---|
T | The type of component to add |
DestroyCinemachineComponent<T>()
Remove a component from the cinemachine pipeline if it's present.
Declaration
public void DestroyCinemachineComponent<T>() where T : CinemachineComponentBase
Type Parameters
Name | Description |
---|---|
T | The type of component to remove |
ForceCameraPosition(Vector3, Quaternion)
Force the virtual camera to assume a given position and orientation
Declaration
public override void ForceCameraPosition(Vector3 pos, Quaternion rot)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | pos | Worldspace position to take |
Quaternion | rot | Worldspace orientation to take |
Overrides
GetCinemachineComponent(Stage)
Get the component set for a specific stage.
Declaration
public override CinemachineComponentBase GetCinemachineComponent(CinemachineCore.Stage stage)
Parameters
Type | Name | Description |
---|---|---|
CinemachineCore.Stage | stage | The stage for which we want the component |
Returns
Type | Description |
---|---|
CinemachineComponentBase | The Cinemachine component for that stage, or null if not defined |
Overrides
GetCinemachineComponent<T>()
Get an existing component of a specific type from the cinemachine pipeline.
Declaration
public T GetCinemachineComponent<T>() where T : CinemachineComponentBase
Returns
Type | Description |
---|---|
T | The component if it's present, or null |
Type Parameters
Name | Description |
---|---|
T | The type of component to get |
GetComponentOwner()
Get the hidden CinemachinePipeline child object.
Declaration
public Transform GetComponentOwner()
Returns
Type | Description |
---|---|
Transform | The hidden CinemachinePipeline child object |
GetComponentPipeline()
Get the component pipeline owned by the hidden child pipline container. For most purposes, it is preferable to use the GetCinemachineComponent method.
Declaration
public CinemachineComponentBase[] GetComponentPipeline()
Returns
Type | Description |
---|---|
CinemachineComponentBase[] | The component pipeline |
GetMaxDampTime()
Query components and extensions for the maximum damping time.
Declaration
public override float GetMaxDampTime()
Returns
Type | Description |
---|---|
float | Highest damping setting in this vcam |
Overrides
InternalUpdateCameraState(Vector3, float)
Internal use only. Do not call this method. Called by CinemachineCore at the appropriate Update time so the vcam can position itself and track its targets. This class will invoke its pipeline and generate a CameraState for this frame.
Declaration
public override void InternalUpdateCameraState(Vector3 worldUp, float deltaTime)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | worldUp | Effective world up |
float | deltaTime | Effective deltaTime |
Overrides
InvalidateComponentPipeline()
Editor API: Call this when changing the pipeline from the editor. Will force a rebuild of the pipeline cache.
Declaration
public void InvalidateComponentPipeline()
OnDestroy()
Calls the DestroyPipelineDelegate for destroying the hidden child object, to support undo.
Declaration
protected override void OnDestroy()
Overrides
OnEnable()
Make sure that the pipeline cache is up-to-date.
Declaration
protected override void OnEnable()
Overrides
OnTargetObjectWarped(Transform, Vector3)
This is called to notify the vcam that a target got warped, so that the vcam can update its internal state to make the camera also warp seamlessly.
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
OnTransitionFromCamera(ICinemachineCamera, Vector3, float)
If we are transitioning from another vcam, grab the position from it.
Declaration
public override void 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) |
Overrides
OnValidate()
Enforce bounds for fields, when changed in inspector.
Declaration
protected void OnValidate()
PerformLegacyUpgrade(int)
Override this to handle any upgrades necessitated by a streaming version change. Note that since this method is not called from the main thread, there are many things it cannot do, including checking a unity object for null.
Declaration
protected override void PerformLegacyUpgrade(int streamedVersion)
Parameters
Type | Name | Description |
---|---|---|
int | streamedVersion | The version that was streamed |