一.FlipBook Animation
如果你想让游戏以每秒30帧的速度运行,所有内容都必须在33毫秒内渲染出来,
如果你想让游戏以每秒60帧的速度运行的话,必须在16毫秒内。
所以当一个效果需要很多细节的时候,往往会离线创建它,然后将这个效果的每一帧放到一张纹理上,之后通过shader回放每一帧
例如下面就是一个爆炸效果的每一帧
材质编辑器里的FlipBook节点可以帮助我们播放每一帧,我们只需要连接时间节点以及行列数以及原来的UV,这个节点就可以给出我们合适的UV坐标来进行贴图采样。当我们将时间节点直接连接Animation phase的时候,默认每秒播放30帧,如果想要更改每秒播放的帧数,可以将时间节点乘上一个常数
但是接下来我们要不依靠FlipBook节点,自己来实现这个效果,这有利于我们了解FlipBook节点里面发生了什么,或者帮助我们改变效果或者做一些不同的东西。
要自己实现这个效果,首先就是缩小纹理,这个是使用乘法,这样就成功显示了第一帧的内容
接着要随时间增加变换UV坐标更换显示的图片。Floor函数可以将值向下取整。但是这样只有对角线上的图片
所以我们现在想让它按照每一行来播放,播放完一行就跳转到下一行。所以分别设置行数和列数,每当增加了六列以后行数就会加1,然后仍然将帧率设置成24
最终效果:
二.环境混合
在过去通常要给不同环境下的岩石都做一套纹理,然后就有了一堆不同的岩石资产,但是现在我们可以做的是我们可以创建一套岩石资产,然后根据岩石环境的不同来替换材质