Unity内置的摄像机和屏幕参数
发表于2018-10-24
万事以基础为先,这篇内容给大家介绍比较基础向的内容,就是Unity中内置的摄像机和屏幕参数。


Unity shader中访问当前正在渲染摄像机的参数;如下:
_WorldSpaceCameraPos float3 该摄像机在世界空间中的位置
_ProjectionParams float4 x=1.0(或-1.0,如果正在使用一个翻转的投影矩阵进行渲染),y=Near, z=Far, w=1.0+1.0/Far,其中Near和Far分别是近裁剪平面和远裁剪平面离摄像机的距离。
_ScreenParams float4 x=width, y=height, z=1.0+1.0/width, w=1.0+1.0/height, 其中width和height分别是该摄像机的渲染目标(render target)的像素宽度和高度。
_ZBufferParams float4 x=1-Far/Near, y=Far/Near, z=x/Far, w=y/Far, 该变量用于线性化Z缓存中的深度值。
unity_OrthoParams float4 x=width, y=height, z没有定义,w=1.0(该摄像机是正交摄像机)或w=0.0(该摄像机是透视摄像机),其中width和height是正交摄像机的宽度和高度。
unity_CameraProjection float4x4 该摄像机的摄影矩阵
unity_CameraInvProjection float4x4 该摄像机的摄像矩阵的逆矩阵
unity_CameraWorldClipPlanes[6] float4 该摄像机的6个裁剪平面在世界空间下的等式,按如下顺序:左、右、下、上、近、远裁剪平面。