Unity’s built-in include files contain global variables for your shaders: things like current object’s transformation matrices, light parameters, current time and so on. You use them in shader programs like any other variable, but if you include the relevant include file, you don’t have to declare them.
For more information on include files, see Built-in include files.
All these matrices are float4x4
type, and are column major.
Nombre | Valor |
UNITY_MATRIX_MVP | Current model * view * projection matrix. |
UNITY_MATRIX_MV | Current model * view matrix. |
UNITY_MATRIX_V | Actual vista de matriz. |
UNITY_MATRIX_P | Matriz de Proyección actual. |
UNITY_MATRIX_VP | Current view * projection matrix. |
UNITY_MATRIX_T_MV | Transpose of model * view matrix. |
UNITY_MATRIX_IT_MV | Inverse transpose of model * view matrix. |
unity_ObjectToWorld | Modelo actual de Matriz |
unity_WorldToObject | Inverso al mundo actual de la matriz. |
These variables will correspond to the Camera that is rendering. For example during shadowmap rendering, they will still refer to the Camera component values, and not the “virtual camera” that is used for the shadowmap projection.
Nombre | Tipo | Valor |
_WorldSpaceCameraPos | float3 | Posición del espacio del mundo de la cámara. |
_ProjectionParams | float4 |
x es 1.0 (o –1.0 si actualmente se renderiza con unaflipped projection matrix), y es el plano más cerca de la cámara, z es el plano más lejos de la cámara y w es 1/FarPlane(plano lejano). |
_ScreenParams | float4 |
x is the width of the camera’s target texture in pixels, y is the height of the camera’s target texture in pixels, z is 1.0 + 1.0/width and w is 1.0 + 1.0/height. |
_ZBufferParams | float4 | Se utiliza para linealizar los valores del buffer Z. X es (1-lejos/cerca), y es (lejos/cerca), z es (x/lejos) y w es (y/lejos). |
unity_OrthoParams | float4 |
X es el ancho de la cámara ortográfica, y es la altura de la cámara ortográfica, z no se utiliza y w es de 1,0 cuando la cámara es ortográfica, 0.0 cuando es de perspectiva. |
unity_CameraProjection | float4x4 | Matriz de proyección de la Cámara. |
unity_CameraInvProjection | float4x4 | Inverso de la matriz de proyección de la Camara. |
unity_CameraWorldClipPlanes[6] | float4 | Ecuaciones del espacio del mundo del plano del frustum de la cámara, en este orden: izquierdo, derecho, inferior, superior, cercano, lejano. |
Time is measured in seconds, and is scaled by the Time multiplier in your Project’s Time settings. There is no built-in variable that provides access to unscaled time.
Nombre | Tipo | Valor |
_Time | float4 | Time since level load (t/20, t, t*2, t*3), use to animate things inside the shaders. |
_SinTime | float4 | Seno del tiempo: (t/8, t/4, t/2, t). |
_CosTime | float4 | Coseno del tiempo: (t/8, t/4, t/2, t). |
unity_DeltaTime | float4 | Tiempo delta: (dt, 1/dt, smoothDt, 1/smoothDt). |
Los parámetros de la luz se pasan a los shaders en maneras diferentes dependiendo en qué Rendering Path se utilizan, y qué LightMode Pass Tag se utiliza en el shader.
Forward rendering (tipos pass ForwardBase
y ForwardAdd
):
Nombre | Tipo | Valor |
_LightColor0 (declared in UnityLightingCommon.cginc) | fixed4 | Color de la Luz. |
_WorldSpaceLightPos0 | float4 | Directional lights: (dirección en el espacio del mundo, 0). Otras luces: (posición en el espacio del mundo, 1). |
unity_WorldToLight (declared in AutoLight.cginc) | float4x4 | Matriz Mundo-a-luz. Utilizada para muestrear texturas cookie & de atenuación. |
unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0 | float4 | (ForwardBase pass solamente) posiciones del espacio del mundo de las primeras cuatro point lights no importantes. |
unity_4LightAtten0 | float4 | (ForwardBase pass solamente) factores de atenuación de las primeras cuatro point lights no importantes. |
unity_LightColor | half4[4] | (ForwardBase pass solamente) colores de las primeras cuatro point lights no importantes. |
unity_WorldToShadow | float4x4[4] | World-to-shadow matrices. One matrix for spot lights, up to four for directional light cascades. |
Deferred shading e iluminación diferida, utilizada en el lighting pass shader (todo declarado en UnityDeferredLibrary.cginc):
Nombre | Tipo | Valor |
_LightColor | float4 | Color de la Luz. |
unity_WorldToLight | float4x4 | Matriz Mundo-a-luz. Utilizada para muestrear texturas cookie & de atenuación. |
unity_WorldToShadow | float4x4[4] | World-to-shadow matrices. One matrix for spot lights, up to four for directional light cascades. |
Se configuran coeficientes de armónicos esféricos (utilizados por los ambient y light probes) para tipos de pases ForwardBase
,PrePassFinal
y Deferred
.
Contienen SH de 3er orden para ser evaluados por el espacio mundial normal (mire ShadeSH9
de UnityCG.cginc).
Todas las variables son de tipo half4, unity_SHAr
y nombres similares.
Vertex-lit rendering (tipo de pass Vertex
):
Se configuran hasta 8 luces para un tipo de pass Vertex
; Siempre ordenado a partir del más brillante. Así que si quiere
para renderizar los objetos que se vean afectados por dos luces a la vez, sólo puede tomar dos primeras entradas en los arreglos. Si hay menos
luz afectando el objeto que 8, el resto tendrán su color configurado a negro.
Nombre | Tipo | Valor |
unity_LightColor | half4[8] | Colores de luz. |
unity_LightPosition | float4[8] | Posiciones de iluminación del espacio de vista. (-dirección, 0) para luces direccionales; (Posición, 1) para las point/spot lights. |
unity_LightAtten | half4[8] | Factores de atenuación de la luz. x es cos(spotAngle/2) o –1 para las luces que no son spot lights; y es 1/cos(spotAngle/4) o 1 para las luces que no son spot lights; z es atenuación cuadrática; w es el rango de luz cuadrada. |
unity_SpotDirection | float4[8] | Posiciones de vista-espacio de spot lights; (0,0,1,0) para las luces que no son spot lights. |
Nombre | Tipo | Valor |
unity_Lightmap | Texture2D | Contains lightmap information. |
unity_LightmapST | float4[8] | Scales and translates the UV information to the correct range to sample the lightmap texture. |
Nombre | Tipo | Valor |
unity_AmbientSky | fixed4 | Color de iluminación ambiente del Sky (cielo) en el caso de iluminación ambiental de gradiente. |
unity_AmbientEquator | fixed4 | Color de la iluminación ambiental del equador en caso de la iluminación ambiental del gradiente. |
unity_AmbientGround | fixed4 | Color de la iluminación ambiental de la tierra en caso de la iluminación ambiental del gradiente. |
UNITY_LIGHTMODEL_AMBIENT | fixed4 | Color de iluminación ambiental (color del cielo en caso de degradado ambiental). Variable Legacy. |
unity_FogColor | fixed4 | Color del fog (niebla). |
unity_FogParams | float4 | Parámetros para el cálculo de niebla: (densidad/sqrt(ln (2)), densidad/ln(2), –1/(final-inicio), final/(final-inicio)). x es útil para el modo de fog (niebla) Exp2, y para el modo Exp, z y w para el modo Lineal. |
Nombre | Tipo | Valor |
unity_LODFade | float4 | El Level-of-detail se desvanece cuando se utiliza LODGroup. x se desvanece (0..1), y se desvanece cuantificado a 16 niveles, z y w no se utilizan. |
_TextureSampleAdd | float4 | Set automatically by Unity for UI only based on whether the texture being used is in Alpha8 format (the value is set to (1,1,1,0)) or not (the value is set to (0,0,0,0)). |