Camera 是玩家用来观察世界的设备。
屏幕空间点以像素定义。屏幕的左下角为 (0,0);右上角为 (pixelWidth,pixelHeight)。z 坐标是相对于 Camera 的世界单位。
视口空间点是归一化的,并且相对于 Camera。Camera 的左下角为 (0,0);右上角为 (1,1)。z 坐标是相对于 Camera 的世界单位。
世界空间点以全局坐标定义(例如,Transform.position)。
其他资源:camera component.
allCameras | 返回场景中所有启用的 Camera。 |
allCamerasCount | 当前场景中的 Camera 数量。 |
current | 我们当前正在使用的 Camera,仅用于低级渲染控制(只读)。 |
kMaxAperture | 允许的最大光圈值。 |
kMaxBladeCount | 光圈光阑的最大叶片数。 |
kMinAperture | 允许的最小光圈值。 |
kMinBladeCount | 光圈光阑的最小叶片数。 |
main | 标记为 "MainCamera" 的第一个启用的 Camera 组件(只读)。 |
onPostRender | 委托,用于在 Camera 渲染场景后执行自定义代码。 |
onPreCull | 委托,用于在 Camera 剔除场景之前执行自定义代码。 |
onPreRender | 委托,用于在 Camera 渲染场景之前执行自定义代码。 |
activeTexture | 获取此 Camera 的临时 RenderTexture 目标。 |
actualRenderingPath | 当前使用的渲染路径(只读)。 |
allowDynamicResolution | 动态分辨率缩放。 |
allowHDR | 高动态范围渲染。 |
allowMSAA | MSAA 渲染。 |
anamorphism | 摄像机的变形。要使用此属性,请启用 UsePhysicalProperties。 |
aperture | 摄像机的光圈。要使用此属性,请启用 UsePhysicalProperties。 |
areVRStereoViewMatricesWithinSingleCullTolerance | 确定立体视图矩阵是否适合允许单次剔除。 |
aspect | 纵横比(宽度除以高度)。 |
backgroundColor | 用于清除屏幕的颜色。 |
barrelClipping | 摄像机的桶形裁剪。要使用此属性,请启用 UsePhysicalProperties。 |
bladeCount | 摄像机镜头中的叶片数量。要使用此属性,请启用 UsePhysicalProperties。 |
cameraToWorldMatrix | 从摄像机空间转换到世界空间的矩阵(只读)。 |
cameraType | 使用 CameraType 枚举标识此摄像机类型。 |
clearFlags | 摄像机如何清除背景。 |
clearStencilAfterLightingPass | 摄像机是否应该在延迟光照通道后清除模板缓冲区? |
commandBufferCount | 在此摄像机上设置的命令缓冲区数量(只读)。 |
cullingMask | 用于选择性地渲染场景部分。 |
cullingMatrix | 设置摄像机用于所有剔除查询的自定义矩阵。 |
curvature | 叶片的曲率。要使用此属性,请启用 UsePhysicalProperties。 |
depth | 摄像机在摄像机渲染顺序中的深度。 |
depthTextureMode | 摄像机如何以及是否生成深度纹理。 |
eventMask | 用于选择哪些层可以在摄像机上触发事件的掩码。 |
farClipPlane | 远裁剪平面到摄像机的距离,以世界单位表示。 |
fieldOfView | 摄像机的垂直视场,以度为单位。 |
focalLength | 摄像机的焦距,以毫米为单位。要使用此属性,请启用 UsePhysicalProperties。 |
focusDistance | 镜头的对焦距离。要使用此属性,请启用 UsePhysicalProperties。 |
forceIntoRenderTexture | 摄像机渲染是否应该强制到 RenderTexture。 |
gateFit | 摄像机有两个网格:传感器网格和分辨率网格。物理摄像机传感器网格由 sensorSize 属性定义,分辨率网格由渲染目标区域定义。 |
iso | 摄像机的传感器灵敏度。要使用此属性,请启用 UsePhysicalProperties。 |
layerCullDistances | 每层的剔除距离。 |
layerCullSpherical | 如何为摄像机执行每层的剔除。 |
lensShift | 摄像机的镜头偏移。镜头偏移相对于传感器大小。例如,镜头偏移 0.5 将传感器偏移其水平尺寸的一半。 |
nearClipPlane | 近裁剪平面到摄像机的距离,以世界单位表示。 |
nonJitteredProjectionMatrix | 获取或设置原始投影矩阵,不包含摄像机偏移(无抖动)。 |
opaqueSortMode | 不透明对象的排序模式。 |
orthographic | 摄像机是正交的(true)还是透视的(false)? |
orthographicSize | 摄像机在正交模式下的半尺寸。 |
overrideSceneCullingMask | 设置用于确定要绘制哪些场景中对象的剔除掩码。请参阅 EditorSceneManager.SetSceneCullingMask。 |
pixelHeight | 摄像机的高度(以像素为单位),不考虑动态分辨率缩放(只读)。 |
pixelRect | 摄像机在屏幕上的渲染位置,以像素坐标表示。 |
pixelWidth | 摄像机的宽度(以像素为单位),不考虑动态分辨率缩放(只读)。 |
previousViewProjectionMatrix | 获取上一帧使用的视图投影矩阵。 |
projectionMatrix | 设置自定义投影矩阵。 |
rect | 摄像机在屏幕上的渲染位置,以归一化坐标表示。 |
renderCloudsInSceneView | 如果为 false,则不会在此摄像机的场景视图中渲染云。 |
renderingPath | 应使用的渲染路径(如果可能)。 |
scaledPixelHeight | 摄像机的高度(以像素为单位),考虑动态分辨率缩放(只读)。 |
scaledPixelWidth | 摄像机的宽度(以像素为单位),考虑动态分辨率缩放(只读)。 |
scene | 如果非空,摄像机将只渲染指定场景的内容。 |
sensorSize | 摄像机传感器的尺寸,以毫米为单位。 |
shutterSpeed | 摄像机的曝光时间,以秒为单位。要使用此属性,请启用 UsePhysicalProperties。 |
stereoActiveEye | 返回当前正在渲染的视角。如果在立体声未启用的情况下调用,它将返回 Camera.MonoOrStereoscopicEye.Mono。如果在摄像机渲染回调期间调用(例如 OnRenderImage),它将返回当前正在渲染的视角。如果在渲染回调之外调用,并且立体声已启用,它将返回默认视角,即 Camera.MonoOrStereoscopicEye.Left。 |
stereoConvergence | 虚拟视角汇聚的点距离。 |
stereoEnabled | 立体声渲染。 |
stereoSeparation | 虚拟视角之间的距离。使用此属性查询或设置当前视角间距。请注意,大多数 VR 设备都会提供此值,在这种情况下,设置此值将不会有任何效果。 |
stereoTargetEye | 定义摄像机渲染到 VR 显示器的哪只眼睛。 |
targetDisplay | 设置此摄像机的目标显示器。 |
targetTexture | 目标渲染纹理。 |
transparencySortAxis | 一个轴,描述用于排序目的测量对象距离的方向。 |
transparencySortMode | 透明对象的排序模式。 |
useJitteredProjectionMatrixForTransparentRendering | 是否应该将抖动矩阵用于透明度渲染? |
useOcclusionCulling | 摄像机在渲染过程中是否使用遮挡剔除。 |
usePhysicalProperties | 启用 usePhysicalProperties 以使用物理摄像机属性来计算视场和视锥体。 |
velocity | 获取摄像机在世界空间中的速度(只读)。 |
worldToCameraMatrix | 从世界空间转换到摄像机空间的矩阵。 |
AddCommandBuffer | 添加要在指定位置执行的命令缓冲区。 |
AddCommandBufferAsync | 将命令缓冲区添加到 GPU 的异步计算队列,并在图形处理到达指定位置时执行该命令缓冲区。 |
CalculateFrustumCorners | 给定视口坐标,计算指向指定摄像机深度处的四个视锥体角的视图空间向量。 |
CalculateObliqueMatrix | 计算并返回倾斜近平面投影矩阵。 |
CopyFrom | 使此摄像机的设置与其他摄像机匹配。 |
CopyStereoDeviceProjectionMatrixToNonJittered | 设置来自 VR SDK 的非抖动投影矩阵。 |
GetCommandBuffers | 获取要在指定位置执行的命令缓冲区。此 API 仅适用于内置渲染器。 |
GetGateFittedFieldOfView | 检索摄像机的有效垂直视场,包括 GateFit。调整传感器网格和分辨率网格会影响最终视场。如果传感器网格纵横比与分辨率网格纵横比相同,或者摄像机未处于物理模式,则此方法将返回与 fieldofview 属性相同的值。 |
GetGateFittedLensShift | 检索摄像机的有效镜头偏移,包括 GateFit。调整传感器网格和分辨率网格会影响投影的最终倾斜度。如果传感器网格纵横比与分辨率网格纵横比相同,则此方法将返回与 lenshift 属性相同的值。如果摄像机未处于物理模式,则此方法将返回 Vector2.zero。 |
GetStereoNonJitteredProjectionMatrix | 获取特定左右立体声视角的非抖动投影矩阵。 |
GetStereoProjectionMatrix | 获取特定左右立体声视角的投影矩阵。 |
GetStereoViewMatrix | 获取特定立体声视角的左右视图矩阵。 |
RemoveAllCommandBuffers | 删除在此摄像机上设置的所有命令缓冲区。 |
RemoveCommandBuffer | 删除要在指定位置执行的命令缓冲区。 |
RemoveCommandBuffers | 删除要在指定位置执行的命令缓冲区。 |
Render | 手动渲染摄像机。 |
RenderToCubemap | 从此摄像机渲染到静态立方体贴图。 |
RenderWithShader | 使用着色器替换渲染摄像机。 |
Reset | 将所有摄像机参数还原为默认值。 |
ResetAspect | 将纵横比还原为屏幕的纵横比。 |
ResetCullingMatrix | 使剔除查询反映相机的内置参数。 |
ResetProjectionMatrix | 使投影反映普通相机的参数。 |
ResetReplacementShader | 从相机中删除着色器替换。 |
ResetStereoProjectionMatrices | 将相机重置为使用 Unity 计算的投影矩阵,适用于所有立体声眼睛。 |
ResetStereoViewMatrices | 将相机重置为使用 Unity 计算的视图矩阵,适用于所有立体声眼睛。 |
ResetTransparencySortSettings | 将此相机的透明度排序设置重置为默认值。默认透明度设置取自 GraphicsSettings,而不是直接取自此相机。 |
ResetWorldToCameraMatrix | 使渲染位置反映相机在场景中的位置。 |
ScreenPointToRay | 返回从相机穿过屏幕点的一条射线。 |
ScreenToViewportPoint | 将位置从屏幕空间转换为视口空间。 |
ScreenToWorldPoint | 将点从屏幕空间转换为世界空间,其中世界空间被定义为游戏层次结构顶部的坐标系。 |
SetReplacementShader | 使相机使用着色器替换进行渲染。 |
SetStereoProjectionMatrix | 为特定立体声眼睛设置自定义投影矩阵。 |
SetStereoViewMatrix | 为特定立体声眼睛设置自定义视图矩阵。 |
SetTargetBuffers | 设置相机以渲染到一个或多个 RenderTexture 的选定缓冲区。 |
SubmitRenderRequest | 提交渲染请求。 |
TryGetCullingParameters | 获取相机的剔除参数。 |
ViewportPointToRay | 返回从相机穿过视口点的一条射线。 |
ViewportToScreenPoint | 将位置从视口空间转换为屏幕空间。 |
ViewportToWorldPoint | 将位置从视口空间转换为世界空间。 |
WorldToScreenPoint | 将位置从世界空间转换为屏幕空间。 |
WorldToViewportPoint | 将位置从世界空间转换为视口空间。 |
CalculateProjectionMatrixFromPhysicalProperties | 从焦距、传感器尺寸、镜头偏移、近平面距离、远平面距离和 Gate fit 参数计算投影矩阵。要计算不考虑 Gate fit 的投影矩阵,请使用 Camera.GateFitMode.None 。其他资源:GateFitParameters |
FieldOfViewToFocalLength | 将视野转换为焦距。使用传感器高度和垂直视野或传感器宽度和水平视野。 |
FocalLengthToFieldOfView | 将焦距转换为视野。 |
GetAllCameras | 使用当前场景中的当前相机填充 Camera 数组,无需分配新的数组。 |
HorizontalToVerticalFieldOfView | 根据纵横比参数的值,将水平视野 (FOV) 转换为垂直 FOV。 |
VerticalToHorizontalFieldOfView | 根据纵横比参数的值,将垂直视野 (FOV) 转换为水平 FOV。 |
OnPostRender | 相机渲染完场景后 Unity 调用的事件函数。 |
OnPreCull | 相机剔除场景之前 Unity 调用的事件函数。 |
OnPreRender | 相机渲染场景之前 Unity 调用的事件函数。 |
OnRenderImage | 相机完成渲染后 Unity 调用的事件函数,允许您修改相机的最终图像。 |
OnRenderObject | OnRenderObject 在相机渲染完场景后调用。 |
OnWillRenderObject | 如果对象可见,则对每个相机调用 OnWillRenderObject。 |
CameraCallback | 相机回调的委托类型。 |
enabled | 启用的行为被更新,禁用的行为不被更新。 |
isActiveAndEnabled | 报告 GameObject 及其关联的行为是否处于活动状态并已启用。 |
gameObject | 此组件所附加的 GameObject。组件始终附加到 GameObject。 |
tag | 此 GameObject 的标签。 |
transform | 附加到此 GameObject 的变换。 |
hideFlags | 对象是否应隐藏、与场景一起保存或用户可修改? |
name | 对象的名称。 |
BroadcastMessage | 在该 GameObject 或其任何子对象中的每个 MonoBehaviour 上调用名为 methodName 的方法。 |
CompareTag | 将 GameObject 的标签与定义的标签进行比较。 |
GetComponent | 获取与指定组件相同的 GameObject 上类型为 T 的组件的引用。 |
GetComponentInChildren | 获取与指定组件相同的 GameObject 或其任何子对象上的类型为 T 的组件的引用。 |
GetComponentIndex | 获取组件在其父 GameObject 上的索引。 |
GetComponentInParent | 获取与指定组件相同的 GameObject 或其任何父对象上的类型为 T 的组件的引用。 |
GetComponents | 获取与指定组件相同的 GameObject 上类型为 T 的所有组件的引用。 |
GetComponentsInChildren | 获取与指定组件相同的 GameObject 及其任何子对象上的类型为 T 的所有组件的引用。 |
GetComponentsInParent | 获取与指定组件相同的 GameObject 及其任何父对象上的类型为 T 的所有组件的引用。 |
SendMessage | 在该 GameObject 中的每个 MonoBehaviour 上调用名为 methodName 的方法。 |
SendMessageUpwards | 在该 GameObject 中的每个 MonoBehaviour 以及该行为的每个祖先上调用名为 methodName 的方法。 |
TryGetComponent | 获取指定类型的组件(如果存在)。 |
GetInstanceID | 获取对象的实例 ID。 |
ToString | 返回对象的名称。 |
Destroy | 删除 GameObject、组件或资源。 |
DestroyImmediate | 立即销毁对象 obj。强烈建议使用 Destroy 而不是该方法。 |
DontDestroyOnLoad | 加载新场景时不要销毁目标对象。 |
FindAnyObjectByType | 检索类型为 type 的任何活动加载对象。 |
FindFirstObjectByType | 检索类型为 type 的第一个活动加载对象。 |
FindObjectsByType | 检索类型为 type 的所有加载对象的列表。 |
Instantiate | 克隆对象 original 并返回克隆对象。 |
InstantiateAsync | 捕获原始对象(必须与某个 GameObject 相关)的快照并返回 AsyncInstantiateOperation。 |
bool | 对象是否存在? |
operator != | 比较两个对象是否引用不同的对象。 |
operator == | 比较两个对象引用以查看它们是否引用相同的对象。 |