Глава третья
Изменений свойств материала из C#
Shader "Tutorial/AnimationSequence"
{
Properties
{
_MainTex("Animation Texture", 2D) = "white" {}
_WidthFramesCount("Width Frames count", Range(0, 20)) = 9
_HeightFramesCount("Height Frames count", Range(0, 20)) = 4
_CurrentFrame("Frames count", Range(0, 70)) = 0
}
SubShader
{
Cull Off
ZWrite Off
ZTest Always
//Следующая строка позволяет визуализировать текстуры,
// содержащие альфаканал, как полупрозрачные.
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
CGPROGRAM
#pragma vertex vert_img
#pragma fragment frag
#include "UnityCG.cginc"
sampler2D _MainTex;
float _WidthFramesCount;
float _HeightFramesCount;
uint _CurrentFrame;
fixed4 frag(v2f_img i) : COLOR
{
float2 uv = i.uv;
uint frame = _CurrentFrame % (_WidthFramesCount*_HeightFramesCount);
uv.x = (uv.x + frame % _WidthFramesCount) / _WidthFramesCount;
uv.y = (uv.y + floor(frame / _WidthFramesCount)) / _HeightFramesCount;
half4 base = tex2D(_MainTex, uv);
return base;
}
ENDCG
}
}
}Last updated

