Camera 摄像机

Camera是一个设备,玩家通过它看世界。

屏幕空间点用像素定义,屏幕的左下为(0,0);右上是(PixelWidth,pixelHeight).Z的位置是以世界单位衡量的到相机的距离。

视口空间点是规范的并相对于相机的。相机的左下为(0,0);右上是(1,1);Z的位置是以世界为单位衡量的到相机的距离。

静态变量说明
allCameras返回场景中所有相机。
allCamerasCount当前场景中相机的数量。
current当前用于渲染的相机,只用于低级的渲染控制(只读)。
main第一个启用的被标记为“MainCamera”的相机(只读)。
变量说明
actualRenderingPath实际使用的渲染路径(只读)。
aspect长宽比(宽度除以高度)。
backgroundColor屏幕将被清理为这个颜色。
cameraToWorldMatrix从相机空间到世界空间的变换矩阵(只读)。
clearFlags相机如何清除背景。
cullingMask这个用来选择性的渲染部分场景。
depth相机在渲染顺序上的深度。
depthTextureMode相机生成怎样的一个深度纹理。
eventMask遮挡相机的触发事件图层。
farClipPlane远裁剪面的距离。
fieldOfView相机的视野,以度为单位。
hdr高动态范围渲染。
layerCullDistances每层的消隐距离。
layerCullSpherical相机如何执行每层的消隐。
nearClipPlane近裁剪面的距离。
orthographic相机是正交的(true),是透视的(false)?
orthographicSize在正交模式下相机的一半尺寸。
pixelHeight相机有多高,以像素单位(只读)。
pixelRect相机被渲染到屏幕像素中的位置。
pixelWidth相机有多宽,以像素单位(只读)。
projectionMatrix设置自定义的投影矩阵。
rect相机被渲染到屏幕规范化坐标中的位置。
renderingPath渲染路径。
stereoConvergence虚拟眼相交点间距
stereoEnabled立体渲染。
stereoSeparation虚拟眼间距离。
targetTexture描述渲染纹理(仅Unity专业版)。
transparencySortMode透明物体的排序模式。
useOcclusionCulling无论是否在渲染过程中相机都会使用遮挡剔除。
velocity获取世界空间中相机的速度(只读)。
worldToCameraMatrix从世界到相机空间的变换矩阵。
公有函数说明
CalculateObliqueMatrix计算并返回倾斜接近水平的投影矩阵。
CopyFrom使这个相机的设置与其他相机相同。
Render手动渲染相机。
RenderToCubemap从这个相机渲染到一个立方贴图。
RenderWithShader用shader替代渲染相机。
ResetAspect恢复长宽比为屏幕的长宽比。
ResetProjectionMatrix让投影反映正常的相机参数。
ResetReplacementShader从相机上移除shader替换。
ResetWorldToCameraMatrix在场景中让渲染位置反映相机的位置
ScreenPointToRay返回一条射线从摄像机通过一个屏幕点。
ScreenToViewportPoint从屏幕空间到视窗空间的变换位置。
ScreenToWorldPoint从屏幕空间到世界空间的变化位置。
SetReplacementShader使相机渲染用shader替换。
SetTargetBuffers设置相机渲染到一个或多个RenderTextures所选择的缓冲区。
ViewportPointToRay返回从相机出发穿过视点的一个射线。
ViewportToScreenPoint从视口空间到屏幕空间的变换位置。
ViewportToWorldPoint从视窗空间到世界空间的变换位置。
WorldToScreenPoint从世界空间到屏幕空间变换位置。
WorldToViewportPoint从世界空间到视窗空间的变换位置。
静态方法说明
GetAllCameras用当前场景中的摄像机填补相机的数组,而不需要分配一个新的数组。
Message 消息说明
OnPostRenderOnPostRender在相机渲染场景之后调用。
OnPreCullOnPreCull在相机开始裁剪场景之前调用。
OnRenderImageOnRenderImage在所有渲染完成后被调用,来渲染图片的后期处理效果(仅限UnityPro)。
OnRenderObjectOnRenderObject 在相机渲染完场景以后被调用。
OnWillRenderObject如果物体可见,每个相机都会调用OnWillRenderObject。

?