Unity Shader 内置变量大全


unity_OrthoParams 是Unity内置的一个Shader变量(内置uniform),用于传递正交投影相机的参数。这是一个float4类型的向量,其各个分量包含不同的信息。
分量含义

unity_OrthoParams 的四个分量分别表示:
x:相机正交投影的宽度(Width)
y:相机正交投影的高度(Height)
z:相机近裁剪平面(Near Clip Plane)
w:相机远裁剪平面(Far Clip Plane)


一、变换矩阵(Transformation Matrices)

TransformObjectToWorld(float3 positionOS)    float3    将顶点/向量从物体空间变换到世界空间。
TransformWorldToObject(float3 positionWS)    float3    将顶点/向量从世界空间变换到物体空间。
TransformWorldToView(float3 positionWS)    float3    将顶点/向量从世界空间变换到观察空间(相机空间)。
TransformObjectToHClip(float3 positionOS)    float4    将顶点从物体空间变换到齐次裁剪空间(等同于内置管线的UnityObjectToClipPos)。
TransformWorldToHClip(float3 positionWS)    float4    将顶点从世界空间变换到齐次裁剪空间。
TransformObjectToWorldNormal(float3 normalOS)    float3    将法线从物体空间变换到世界空间,已归一化。


二、相机和屏幕参数(Camera and Screen Parameters)

_WorldSpaceCameraPos:世界空间中的相机位置。
_ProjectionParams:x = 1(或-1,如果投影翻转),y = 近裁剪平面,z = 远裁剪平面,w = 1/远裁剪平面。
_ScreenParams:x = 屏幕宽度(像素),y = 屏幕高度(像素),z = 1 + 1/宽度,w = 1 + 1/高度。
_ZBufferParams:用于线性化深度缓冲区的参数,具体为:x = 1 - 远裁剪平面/近裁剪平面,y = 远裁剪平面/近裁剪平面,z = x/近裁剪平面,w = y/近裁剪平面。
unity_OrthoParams:如之前所述,x = 正交相机的宽度,y = 正交相机的高度,z = 近裁剪平面,w = 远裁剪平面(同时w为1表示正交相机,0表示透视相机)。
unity_CameraProjection:相机的投影矩阵(在视图空间之后)。
unity_CameraInvProjection:投影矩阵的逆矩阵。
unity_CameraWorldClipPlanes[6]:相机的六个裁剪平面(左、右、下、上、近、远),在世界空间中。


三、时间(Time)

_Time:时间向量,自场景加载开始的时间,分量分别为 (t/20, t, t2, t3)。
_SinTime:时间的正弦值,分量分别为 (t/8, t/4, t/2, t) 的正弦值。
_CosTime:时间的余弦值,同上。
unity_DeltaTime:增量时间向量,分量为 (dt, 1/dt, smoothDt, 1/smoothDt)。


四、光照(Lighting)

如GetMainLight、GetAdditionalLights)


五、雾效(Fog)

unity_FogColor:雾颜色。
unity_FogParams:雾效参数,x = 雾效密度(指数雾),y = 雾效密度(指数平方雾),z = -1/(雾效结束距离-雾效开始距离),w = 雾效结束距离/(雾效结束距离-雾效开始距离)。


六、其他(Miscellaneous)

_Scale:对象的缩放比例(已过时,建议使用unity_ObjectToWorld)。
unity_LODFade:用于LOD混合的参数。

unity_ColorSpaceDouble 帮助开发者在不同颜色空间(Gamma 空间和 Linear 空间)下,都能获得视觉上“加倍”的效果


七、光照贴图(Lightmaps)

unity_Lightmap:光照贴图纹理。
unity_LightmapST:光照贴图的缩放和偏移。


八、动态全局光照(Dynamic Global Illumination)

unity_DynamicLightmapST:动态光照贴图的缩放和偏移。
unity_DynamicDirectionality:动态方向性光照贴图。


九、反射探针(Reflection Probes)

unity_SpecCube0:反射探针的立方体贴图。
unity_SpecCube1:第二个反射探针的立方体贴图(用于混合)。
unity_BoxMin,unity_BoxMax:反射探针的边界框。


十、渲染设置(Rendering Settings)

unity_AmbientSky:天空环境颜色。
unity_AmbientEquator:地平线环境颜色。
unity_AmbientGround:地面环境颜色。   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值