Camera

class in UnityEngine

/

继承自:Behaviour

切换到手册

描述

摄像机 (Camera) 是供玩家观看世界的设备。

屏幕空间的点以像素定义。屏幕的左下角为 (0,0),右上角 为 (pixelWidth,pixelHeight)。z 位置为与摄像机的距离,采用世界单位。

视口空间的点是标准化的、相对于摄像机的点。摄像机左下角为 (0,0),右上角为 (1,1)。z 位置为与摄像机的距离,采用世界单位。

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

另请参阅:摄像机组件

静态变量

allCamerasReturns all enabled cameras in the Scene.
allCamerasCountThe number of cameras in the current Scene.
current我们当前正在用于渲染的摄像机,仅用于低级别渲染控制。(只读)
main第一个启用的摄像机标记为“MainCamera”。(只读)
onPostRender任意摄像机完成渲染后触发的事件。
onPreCull任意摄像机开始剔除前触发的事件。
onPreRender任意摄像机开始渲染前触发的事件。

变量

activeTexture获取该摄像机的临时 RenderTexture 目标。
actualRenderingPath当前正在使用的渲染路径。(只读)
allowDynamicResolution动态分辨率缩放。
allowHDR高动态范围渲染。
allowMSAAMSAA 渲染。
areVRStereoViewMatricesWithinSingleCullTolerance确定该立体视图矩阵是否适合进行单通道剔除。
aspect宽高比(宽度除以高度)。
backgroundColor用于清除屏幕的颜色。
cameraToWorldMatrix摄像机空间到世界空间的变换矩阵。(只读)
cameraType确定摄像机的类型。
clearFlags摄像机清除背景的方式。
clearStencilAfterLightingPass完成延迟光照处理后,摄像机是否应清除模板缓冲区?
commandBufferCount该摄像机上设置的命令缓冲区数。(只读)
cullingMaskThis is used to render parts of the Scene selectively.
cullingMatrix为摄像机设置一个自定义矩阵,以用于所有剔除查询。
depth摄像机在摄像机渲染顺序中的深度。
depthTextureMode摄像机是否以及如何生成深度纹理。
eventMask用于选择哪些层可以在摄像机上触发事件的遮罩。
farClipPlane远裁剪面距离。
fieldOfView摄像机的视野(以度为单位)。
focalLengthThe camera focal length, expressed in millimeters. To use this property, enable UsePhysicalProperties.
forceIntoRenderTexture是否强制让摄像机渲染在 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.
layerCullDistances每层剔除距离。
layerCullSpherical如何为摄像机执行每层剔除。
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.
nearClipPlane近裁剪面距离。
nonJitteredProjectionMatrix获取或设置原始投影矩阵,无摄像机偏移(无抖动)。
opaqueSortMode不透明对象的排序模式。
orthographic此为正交摄像机 (true) 还是透视摄像机 (false)?
orthographicSize处于正交模式时,摄像机大小的一半。
pixelHeight摄像机的像素高度(不考虑动态分辨率缩放)。(只读)
pixelRect摄像机在屏幕上的渲染位置(像素坐标)。
pixelWidth摄像机的像素宽度(不考虑动态分辨率缩放)。(只读)
previousViewProjectionMatrix获取最后一帧使用的视图投影矩阵。
projectionMatrix设置自定义投影矩阵。
rect摄像机在屏幕上的渲染位置(标准化坐标)。
renderingPath应尽可能使用的渲染路径。
scaledPixelHeight摄像机的像素高度(考虑动态分辨率缩放)。(只读)
scaledPixelWidth摄像机的像素宽度(考虑动态分辨率缩放)。(只读)
sceneIf not null, the camera will only render the contents of the specified Scene.
sensorSizeThe size of the camera sensor, expressed in millimeters.
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.
stereoConvergence到虚拟眼睛会聚点的距离。
stereoEnabled立体渲染。
stereoSeparation虚拟眼睛之间的距离。用于查询或设置当前两眼间隔。注意,大多数 VR 设备都提供该值,在这种情况下,设置该值将不起作用。
stereoTargetEye定义摄像机渲染到 VR 显示设备的哪个眼睛。
targetDisplay设置该摄像机的目标显示。
targetTexture目标渲染纹理。
transparencySortAxis描述方向的轴,将沿此方向测量对象距离,从而进行排序。
transparencySortMode透明对象排序模式。
useJitteredProjectionMatrixForTransparentRendering是否应该将抖动矩阵用于透明度渲染?
useOcclusionCulling渲染期间,摄像机是否使用遮挡剔除。
usePhysicalPropertiesEnable [UsePhysicalProperties] to use physical camera properties to compute the field of view and the frustum.
velocity获取摄像机的世界空间速度。(只读)
worldToCameraMatrix从世界空间变换为摄像机空间的矩阵。

公共函数

AddCommandBuffer添加要在指定位置执行的命令缓冲区。
AddCommandBufferAsync向 GPU 的异步计算队列添加命令缓冲区,并在图形处理到达给定点时执行该命令缓冲区。
CalculateFrustumCorners给定视口坐标,计算指向指定摄像机深度处视锥体四角的视图空间矢量。
CalculateObliqueMatrix计算并返回倾斜的近平面投影矩阵。
CopyFrom使该摄像机的设置与另一个摄像机相匹配。
CopyStereoDeviceProjectionMatrixToNonJittered设置源自 VR SDK 的非抖动投影矩阵。
GetCommandBuffers获取要在指定位置执行的命令缓冲区。
GetStereoNonJitteredProjectionMatrix获取特定左/右立体眼睛的非抖动投影矩阵。
GetStereoProjectionMatrix获取特定左/右立体眼睛的投影矩阵。
GetStereoViewMatrix获取特定立体眼睛的左/右视图矩阵。
RemoveAllCommandBuffers删除在该摄像机上设置的所有命令缓冲区。
RemoveCommandBuffer从指定位置的执行中删除一个命令缓冲区。
RemoveCommandBuffers从指定位置的执行中删除多个命令缓冲区。
Render手动渲染摄像机。
RenderToCubemap从该摄像机渲染到一个静态立方体贴图。
RenderWithShader使用替换的着色器渲染摄像机。
ResetRevert all camera parameters to default.
ResetAspect将宽高比还原为屏幕宽高比。
ResetCullingMatrix使剔除查询反映摄像机的内置参数。
ResetProjectionMatrix使投影反映普通摄像机的参数。
ResetReplacementShader从摄像机中删除着色器替换。
ResetStereoProjectionMatrices重置摄像机,为所有立体眼睛使用 Unity 计算的投影矩阵。
ResetStereoViewMatrices重置摄像机,为所有立体眼睛使用 Unity 计算的视图矩阵。
ResetTransparencySortSettings将该摄像机的透明度排序设置重置为默认值。默认透明度设置取自 GraphicsSettings,而不是直接来自该摄像机。
ResetWorldToCameraMatrixMake the rendering position reflect the camera's position in the Scene.
ScreenPointToRay返回从摄像机通过屏幕点的光线。
ScreenToViewportPoint将 position 从屏幕空间变换为视口空间。
ScreenToWorldPoint将 position 从屏幕空间变换为世界空间。
SetReplacementShader让摄像机使用着色器替换进行渲染。
SetStereoProjectionMatrix为特定立体眼睛设置自定义投影矩阵。
SetStereoViewMatrix为特定立体眼睛设置自定义视图矩阵。
SetTargetBuffers将摄像机设置为渲染到一个或多个 RenderTexture 的选定缓冲区。
ViewportPointToRay返回从摄像机通过视口点的光线。
ViewportToScreenPoint将 position 从视口空间变换为屏幕空间。
ViewportToWorldPoint将 position 从视口空间变换为世界空间。
WorldToScreenPoint将 position 从世界空间变换为屏幕空间。
WorldToViewportPoint将 position 从世界空间变换为视口空间。

静态函数

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 . See Also: GateFitParameters
GetAllCamerasFills an array of Camera with the current cameras in the Scene, without allocating a new array.

消息

OnPostRenderOnPostRender is called after a camera has finished rendering the Scene.
OnPreCullOnPreCull is called before a camera culls the Scene.
OnPreRenderOnPreRender is called before a camera starts rendering the Scene.
OnRenderImageOnRenderImage 在图像的所有渲染操作全部完成后调用。
OnRenderObjectOnRenderObject is called after camera has rendered the Scene.
OnWillRenderObject如果对象可见,则为每个摄像机调用 OnWillRenderObject。

委托

CameraCallback摄像机回调的委托类型。

继承的成员

变量

enabled启用的 Behaviour 可更新,禁用的 Behaviour 不可更新。
isActiveAndEnabled是否已激活并启用 Behaviour?
gameObject此组件附加到的游戏对象。始终将组件附加到游戏对象。
tag此游戏对象的标签。
transform附加到此 GameObject 的 Transform。
hideFlags该对象应该隐藏、随场景一起保存还是由用户修改?
name对象的名称。

公共函数

BroadcastMessage调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。
CompareTag此游戏对象是否使用 tag 进行了标记?
GetComponent如果游戏对象附加了类型为 type 的组件,则将其返回,否则返回 null。
GetComponentInChildren使用深度首次搜索返回 GameObject 或其任何子项中类型为 type 的组件。
GetComponentInParent返回 GameObject 或其任何父项中类型为 type 的组件。
GetComponents返回 GameObject 中类型为 type 的所有组件。
GetComponentsInChildren返回 GameObject 或其任何子项中类型为 type 的所有组件。
GetComponentsInParent返回 GameObject 或其任何父项中类型为 type 的所有组件。
SendMessage调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。
GetInstanceID返回对象的实例 ID。
ToString返回对象的名称。

静态函数

Destroy移除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoad在加载新的 Scene 时,请勿销毁 Object。
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfType返回所有类型为 type 的已加载的激活对象的列表。
Instantiate克隆 original 对象并返回克隆对象。

运算符

bool该对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,判断它们是否引用同一个对象。