Испольщование time в шейдере
| |
seaman | Дата: Вт, 13 Ноя 2012, 13:56 | Сообщение # 1 |
![seaman](/avatar/33/290422.jpg) Гуру
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
|
Имею простейший шейдер: Code Shader "Procedure/Time" { Category { Tags { "Queue"="Background" }
SubShader { AlphaTest Off Cull Off Lighting Off ZWrite Off Pass { Blend One Zero Name "BASE" Tags { "LightMode" = "Always" } CGPROGRAM #pragma target 3.0 #pragma fragment frag #pragma vertex vert
struct appdata_t{ float4 vertex : POSITION; float2 texcoord: TEXCOORD0; }; struct v2f { float4 hPosition : POSITION; }; #include "UnityShaderVariables.cginc"
v2f vert(appdata_t v) { v2f o; o.hPosition = mul(UNITY_MATRIX_MVP, v.vertex); return o; } float4 frag(v2f IN): COLOR0 { return lerp(float4(0, 0, 0, 1), float4(1, 1, 1, 1), _SinTime.x); } ENDCG } // end pass
} // end subshader } // end category } // end shader По идее должен периодически меняться цвет от черного к белому. Не меняется - сплошь черный. Ошибок нет. У меня 4-ка Юнити. Что делаю не так?
|
|
|
|
waruiyume | Дата: Вт, 13 Ноя 2012, 14:53 | Сообщение # 2 |
Сообщений: 85
Награды: 1
Репутация: 37
Статус: Offline
|
Code //~~~~~~~~~~~~~~~~~ #include "UnityCG.cginc" //~~~~~~~~~~~~~~~~~ return lerp(float4(0, 0, 0, 1), float4(1, 1, 1, 1), abs(sin(DecodeFloatRGBA(_Time)*20)));//множитель 20 взят с потолка ) //~~~~~~~~~~~~~~~~~
|
|
|
|
seaman | Дата: Вт, 13 Ноя 2012, 15:08 | Сообщение # 3 |
![seaman](/avatar/33/290422.jpg) Гуру
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
|
Я тупой! Жду, что в инспекторе все будет меняться! Откуда там время то возьмется. В Play работает. Спасибо, что дали толчок нормально подумать.
|
|
|
|
|