动画效果往往都是把时间添加到一些变量的计算中,以便在时间变化时画面也可以随之变化。Unity Shader 提供了一系列关于时间的内置变量来允许我们方便地在Shader中访问允许时间,实现各种动画效果。下表给出了这些内置的时间变量。
序列帧动画的原理非常简单,它像放电影一样,依次播放一系列关键帧图像,当播放速度达到一定数值时,看起来就是一个连续的动画。它的有点在于灵活性很强,我们不需要进行任何物理计算就可以得到非常细腻的动画效果。而它的缺点也很明显,由于序列帧中每张关键帧图像都不一样,因此,要制作一张出色的序列帧纹理所需要的美术工程量比较大。
Shader "MyShader/ImageSequenceAnimation"
{
Properties
{
_Color("Color Tint",Color) = (1,1,1,1)
_MainTex("Image Sequence", 2D) = "white" {}
_HorizontalAmount("Horizontal Amount",Float) = 8
_VerticalAmount("Vertical Amount",Float) = 8
_Speed("Speed",Range(1,150)) = 30
}
SubShader
{
Tags{"Que