Version: 2022.3
LanguageEnglish
  • C#

Camera

class in UnityEngine

/

Inherits from:Behaviour

/

Implemented in:UnityEngine.CoreModule

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Switch to Manual

Description

A Camera is a device through which the player views the world.

A screen space point is defined in pixels. The bottom-left of the screen is (0,0); the right-top is (pixelWidth,pixelHeight). The z position is in world units from the Camera.

A viewport space point is normalized and relative to the Camera. The bottom-left of the Camera is (0,0); the top-right is (1,1). The z position is in world units from the Camera.

A world space point is defined in global coordinates (for example, Transform.position).

Additional resources: camera component.

Static Properties

allCamerasReturns all enabled cameras in the Scene.
allCamerasCountThe number of cameras in the current Scene.
currentThe camera we are currently rendering with, for low-level render control only (Read Only).
kMaxApertureThe maximum allowed aperture.
kMaxBladeCountThe maximum blade count for the aperture diaphragm.
kMinApertureThe minimum allowed aperture.
kMinBladeCountThe minimum blade count for the aperture diaphragm.
mainThe first enabled Camera component that is tagged "MainCamera" (Read Only).
onPostRenderDelegate that you can use to execute custom code after a Camera renders the scene.
onPreCullDelegate that you can use to execute custom code before a Camera culls the scene.
onPreRenderDelegate that you can use to execute custom code before a Camera renders the scene.

Properties

activeTextureGets the temporary RenderTexture target for this Camera.
actualRenderingPathThe rendering path that is currently being used (Read Only).
allowDynamicResolutionDynamic Resolution Scaling.
allowHDRHigh dynamic range rendering.
allowMSAAMSAA rendering.
anamorphismThe camera anamorphism. To use this property, enable UsePhysicalProperties.
apertureThe camera aperture. To use this property, enable UsePhysicalProperties.
areVRStereoViewMatricesWithinSingleCullToleranceDetermines whether the stereo view matrices are suitable to allow for a single pass cull.
aspectThe aspect ratio (width divided by height).
backgroundColorThe color with which the screen will be cleared.
barrelClippingThe camera barrel clipping. To use this property, enable UsePhysicalProperties.
bladeCountThe blade count in the lens of the camera. To use this property, enable UsePhysicalProperties.
cameraToWorldMatrixMatrix that transforms from camera space to world space (Read Only).
cameraTypeIdentifies what kind of camera this is, using the CameraType enum.
clearFlagsHow the camera clears the background.
clearStencilAfterLightingPassShould the camera clear the stencil buffer after the deferred light pass?
commandBufferCountNumber of command buffers set up on this camera (Read Only).
cullingMaskThis is used to render parts of the Scene selectively.
cullingMatrixSets a custom matrix for the camera to use for all culling queries.
curvatureThe curvature of the blades. To use this property, enable UsePhysicalProperties.
depthCamera's depth in the camera rendering order.
depthTextureModeHow and if camera generates a depth texture.
eventMaskMask to select which layers can trigger events on the camera.
farClipPlaneThe distance of the far clipping plane from the Camera, in world units.
fieldOfViewThe vertical field of view of the Camera, in degrees.
focalLengthThe camera focal length, expressed in millimeters. To use this property, enable UsePhysicalProperties.
focusDistanceThe focus distance of the lens. To use this property, enable UsePhysicalProperties.
forceIntoRenderTextureShould camera rendering be forced into a RenderTexture.
gateFitThere are two gates for a camera, the sensor gate and the resolution gate. The physical camera sensor gate is defined by the sensorSize property, the resolution gate is defined by the render target area.
isoThe sensor sensitivity of the camera. To use this property, enable UsePhysicalProperties.
layerCullDistancesPer-layer culling distances.
layerCullSphericalHow to perform per-layer culling for a Camera.
lensShiftThe lens offset of the camera. The lens shift is relative to the sensor size. For example, a lens shift of 0.5 offsets the sensor by half its horizontal size.
nearClipPlaneThe distance of the near clipping plane from the the Camera, in world units.
nonJitteredProjectionMatrixGet or set the raw projection matrix with no camera offset (no jittering).
opaqueSortModeOpaque object sorting mode.
orthographicIs the camera orthographic (true) or perspective (false)?
orthographicSizeCamera's half-size when in orthographic mode.
overrideSceneCullingMaskSets the culling mask used to determine which objects from which Scenes to draw. See EditorSceneManager.SetSceneCullingMask.
pixelHeightHow tall is the camera in pixels (not accounting for dynamic resolution scaling) (Read Only).
pixelRectWhere on the screen is the camera rendered in pixel coordinates.
pixelWidthHow wide is the camera in pixels (not accounting for dynamic resolution scaling) (Read Only).
previousViewProjectionMatrixGet the view projection matrix used on the last frame.
projectionMatrixSet a custom projection matrix.
rectWhere on the screen is the camera rendered in normalized coordinates.
renderingPathThe rendering path that should be used, if possible.
scaledPixelHeightHow tall is the camera in pixels (accounting for dynamic resolution scaling) (Read Only).
scaledPixelWidthHow wide is the camera in pixels (accounting for dynamic resolution scaling) (Read Only).
sceneIf not null, the camera will only render the contents of the specified Scene.
sensorSizeThe size of the camera sensor, expressed in millimeters.
shutterSpeedThe exposure time of the camera, in seconts. To use this property, enable UsePhysicalProperties.
stereoActiveEyeReturns the eye that is currently rendering. If called when stereo is not enabled it will return Camera.MonoOrStereoscopicEye.Mono. If called during a camera rendering callback such as OnRenderImage it will return the currently rendering eye. If called outside of a rendering callback and stereo is enabled, it will return the default eye which is Camera.MonoOrStereoscopicEye.Left.
stereoConvergenceDistance to a point where virtual eyes converge.
stereoEnabledStereoscopic rendering.
stereoSeparationThe distance between the virtual eyes. Use this to query or set the current eye separation. Note that most VR devices provide this value, in which case setting the value will have no effect.
stereoTargetEyeDefines which eye of a VR display the Camera renders into.
targetDisplaySet the target display for this Camera.
targetTextureDestination render texture.
transparencySortAxisAn axis that describes the direction along which the distances of objects are measured for the purpose of sorting.
transparencySortModeTransparent object sorting mode.
useJitteredProjectionMatrixForTransparentRenderingShould the jittered matrix be used for transparency rendering?
useOcclusionCullingWhether or not the Camera will use occlusion culling during rendering.
usePhysicalPropertiesEnable usePhysicalProperties to use physical camera properties to compute the field of view and the frustum.
velocityGet the world-space speed of the camera (Read Only).
worldToCameraMatrixMatrix that transforms from world to camera space.

Public Methods

AddCommandBufferAdd a command buffer to be executed at a specified place.
AddCommandBufferAsyncAdds a command buffer to the GPU's async compute queues and executes that command buffer when graphics processing reaches a given point.
CalculateFrustumCornersGiven viewport coordinates, calculates the view space vectors pointing to the four frustum corners at the specified camera depth.
CalculateObliqueMatrixCalculates and returns oblique near-plane projection matrix.
CopyFromMakes this camera's settings match other camera.
CopyStereoDeviceProjectionMatrixToNonJitteredSets the non-jittered projection matrix, sourced from the VR SDK.
GetCommandBuffersGet command buffers to be executed at a specified place.
GetGateFittedFieldOfView Retrieves the effective vertical field of view of the camera, including GateFit. Fitting the sensor gate and the resolution gate has an impact on the final field of view. If the sensor gate aspect ratio is the same as the resolution gate aspect ratio or if the camera is not in physical mode, then this method returns the same value as the fieldofview property.
GetGateFittedLensShift Retrieves the effective lens offset of the camera, including GateFit. Fitting the sensor gate and the resolution gate has an impact on the final obliqueness of the projection. If the sensor gate aspect ratio is the same as the resolution gate aspect ratio, then this method returns the same value as the lenshift property. If the camera is not in physical mode, then this methods returns Vector2.zero.
GetStereoNonJitteredProjectionMatrixGets the non-jittered projection matrix of a specific left or right stereoscopic eye.
GetStereoProjectionMatrixGets the projection matrix of a specific left or right stereoscopic eye.
GetStereoViewMatrixGets the left or right view matrix of a specific stereoscopic eye.
RemoveAllCommandBuffersRemove all command buffers set on this camera.
RemoveCommandBufferRemove command buffer from execution at a specified place.
RemoveCommandBuffersRemove command buffers from execution at a specified place.
RenderRender the camera manually.
RenderToCubemapRender into a static cubemap from this camera.
RenderWithShaderRender the camera with shader replacement.
ResetRevert all camera parameters to default.
ResetAspectRevert the aspect ratio to the screen's aspect ratio.
ResetCullingMatrixMake culling queries reflect the camera's built in parameters.
ResetProjectionMatrixMake the projection reflect normal camera's parameters.
ResetReplacementShaderRemove shader replacement from camera.
ResetStereoProjectionMatricesReset the camera to using the Unity computed projection matrices for all stereoscopic eyes.
ResetStereoViewMatricesReset the camera to using the Unity computed view matrices for all stereoscopic eyes.
ResetTransparencySortSettingsResets this Camera's transparency sort settings to the default. Default transparency settings are taken from GraphicsSettings instead of directly from this Camera.
ResetWorldToCameraMatrixMake the rendering position reflect the camera's position in the Scene.
ScreenPointToRayReturns a ray going from camera through a screen point.
ScreenToViewportPointTransforms position from screen space into viewport space.
ScreenToWorldPointTransforms a point from screen space into world space, where world space is defined as the coordinate system at the very top of your game's hierarchy.
SetReplacementShaderMake the camera render with shader replacement.
SetStereoProjectionMatrixSets a custom projection matrix for a specific stereoscopic eye.
SetStereoViewMatrixSets a custom view matrix for a specific stereoscopic eye.
SetTargetBuffersSets the Camera to render to the chosen buffers of one or more RenderTextures.
SubmitRenderRequestSubmit a renderRequest.
TryGetCullingParametersGet culling parameters for a camera.
ViewportPointToRayReturns a ray going from camera through a viewport point.
ViewportToScreenPointTransforms position from viewport space into screen space.
ViewportToWorldPointTransforms position from viewport space into world space.
WorldToScreenPointTransforms position from world space into screen space.
WorldToViewportPointTransforms position from world space into viewport space.

Static Methods

CalculateProjectionMatrixFromPhysicalProperties Calculates the projection matrix from focal length, sensor size, lens shift, near plane distance, far plane distance, and Gate fit parameters. To calculate the projection matrix without taking Gate fit into account, use Camera.GateFitMode.None . Additional resources: GateFitParameters
FieldOfViewToFocalLengthConverts field of view to focal length. Use either sensor height and vertical field of view or sensor width and horizontal field of view.
FocalLengthToFieldOfViewConverts focal length to field of view.
GetAllCamerasFills an array of Camera with the current cameras in the Scene, without allocating a new array.
HorizontalToVerticalFieldOfViewConverts the horizontal field of view (FOV) to the vertical FOV, based on the value of the aspect ratio parameter.
VerticalToHorizontalFieldOfViewConverts the vertical field of view (FOV) to the horizontal FOV, based on the value of the aspect ratio parameter.

Messages

OnPostRender Event function that Unity calls after a Camera renders the scene.
OnPreCull Event function that Unity calls before a Camera culls the scene.
OnPreRender Event function that Unity calls before a Camera renders the scene.
OnRenderImage Event function that Unity calls after a Camera has finished rendering, that allows you to modify the Camera's final image.
OnRenderObjectOnRenderObject is called after camera has rendered the Scene.
OnWillRenderObjectOnWillRenderObject is called for each camera if the object is visible.

Delegates

CameraCallbackDelegate type for camera callbacks.

Inherited Members

Properties

enabledEnabled Behaviours are Updated, disabled Behaviours are not.
isActiveAndEnabledReports whether a GameObject and its associated Behaviour is active and enabled.
gameObjectThe game object this component is attached to. A component is always attached to a game object.
tagThe tag of this game object.
transformThe Transform attached to this GameObject.
hideFlagsShould the object be hidden, saved with the Scene or modifiable by the user?
nameThe name of the object.

Public Methods

BroadcastMessageCalls the method named methodName on every MonoBehaviour in this game object or any of its children.
CompareTagChecks the GameObject's tag against the defined tag.
GetComponentGets a reference to a component of type T on the same GameObject as the component specified.
GetComponentInChildrenGets a reference to a component of type T on the same GameObject as the component specified, or any child of the GameObject.
GetComponentIndexGets the index of the component on its parent GameObject.
GetComponentInParentGets a reference to a component of type T on the same GameObject as the component specified, or any parent of the GameObject.
GetComponentsGets references to all components of type T on the same GameObject as the component specified.
GetComponentsInChildrenGets references to all components of type T on the same GameObject as the component specified, and any child of the GameObject.
GetComponentsInParentGets references to all components of type T on the same GameObject as the component specified, and any parent of the GameObject.
SendMessageCalls the method named methodName on every MonoBehaviour in this game object.
SendMessageUpwardsCalls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
TryGetComponentGets the component of the specified type, if it exists.
GetInstanceIDGets the instance ID of the object.
ToStringReturns the name of the object.

Static Methods

DestroyRemoves a GameObject, component or asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadDo not destroy the target Object when loading a new Scene.
FindAnyObjectByTypeRetrieves any active loaded object of Type type.
FindFirstObjectByTypeRetrieves the first active loaded object of Type type.
FindObjectOfTypeReturns the first active loaded object of Type type.
FindObjectsByTypeRetrieves a list of all loaded objects of Type type.
FindObjectsOfTypeGets a list of all loaded objects of Type type.
InstantiateClones the object original and returns the clone.
InstantiateAsyncCaptures a snapshot of the original object (that must be related to some GameObject) and returns the AsyncInstantiateOperation.

Operators

boolDoes the object exist?
operator !=Compares if two objects refer to a different object.
operator ==Compares two object references to see if they refer to the same object.