# 【内置变量】
1.UNITY_MATRIX_M:模型矩阵(Model matrix),用于将物体从模型空间转换到世界空间。
2.UNITY_MATRIX_V:视图矩阵(View matrix),用于将物体从世界空间转换到观察空间。
3.UNITY_MATRIX_P:投影矩阵(Projection matrix),用于将物体从观察空间转换到裁剪空间。
4.UNITY_MATRIX_MV:模型视图矩阵(Model view matrix),用于将物体从模型空间转换到观察空间。
5.UNITY_MATRIX_VP:视图投影矩阵(View projection matrix),用于将物体从世界空间转换到裁剪空间。
6.UNITY_MATRIX_MVP:模型视图投影矩阵(Model view projection matrix),用于将物体从模型空间转换到裁剪空间。
7._WorldSpaceLightPos0:世界空间的光源位置。
8._WorldSpaceLightDir0:世界空间的光线方向。
9._LightColor0:光源的颜色。
10._Time:游戏运行的时间。
11._ProjectionParams:投影相关参数。
12._ScreenParams:屏幕相关参数,如分辨率、宽高比等。
13._MainTex:主纹理。
14._RenderTex:渲染目标纹理。
15._CullMode:剔除模式,指定模型的剔除方式。
16._Color:物体的颜色。
17._AlphaClipThreshold:alpha剪裁的阈值。
18._Object2World:物体到世界空间的矩阵。
19._World2Object:世界到物体空间的矩阵。
20._Object2Clip:物体到裁剪空间的矩阵。
21._ScreenToWorld:屏幕到世界空间的矩阵。
22._WorldToScreen:世界到屏幕空间的矩阵。
23._ScreenParams:屏幕相关参数,包括屏幕宽度、高度等。
24._SinTime:时间的正弦值。
25._CosTime:时间的余弦值。
26._LightColor0:光源0的颜色。
27._LightColor1:光源1的颜色。
28._LightColor2:光源2的颜色。
29._LightColor3:光源3的颜色。
30._FogColor:雾的颜色。
31._FogParams:雾的参数,包括起始距离、衰减距离等。
32._AmbientSkyColor:环境光的颜色。
33._AmbientEquatorColor:环境光的赤道色。
34._AmbientGroundColor:环境光的地面色。
35._AmbientLightColor:环境光的总颜色。
36._CameraWS:相机的世界空间位置。
37._CameraProjection:相机的投影矩阵。
38._CameraInvProjection:相机投影矩阵的逆矩阵。
39._CameraDepthTexture:相机的深度纹理。
40._SunDirection:太阳的方向。
41.unity_SpecCube0:反射探针CudeMap
// 方向光 或者点光源
#if defined (DIRECTIONAL)
half3 light_dir = normalize(_WorldSpaceLightPos0.xyz);
#elif defined (POINT)
half3 light_dir = normalize(_WorldSpaceLightPos0.xyz - i.pos_world);
half distance = length(_WorldSpaceLightPos0.xyz - i.pos_world);
half range = 1.0 / unity_WorldToLight[0][0];
float attenuation = saturate((range - distance)/range);
#endif
//环境色
half3 = ambient_color = UNITY_LIGHTMODEL_AMBIENT.rgb;
// 使用反射探针
half4 env_color = UNITY_SAMPLE_TEXCUBE(unity_SpecCube0,reflect_dir);
half3 env_hdr_color = DecodeHDR(env_color,unity_SpecCube0_HDR);