我们需要实现一个模型上所有顶点都随机漂移的效果。开始的时候用的Mage-fiers实现的,需要加载对应的脚本库。感觉代码累赘,所以这里用shader实现了一个相应的效果。静态图如下:
这张效果图有两部分组成,由带有色彩的底图(百度所得)和上面的不规则模型组成,我们要做的就是通过shader使模型顶点漂移起来,让我们开始吧。
//声明一个shader,这个shader为着顶点光照,因为我们只需要看到模型的透明轮廓,不需要进行细腻的着片元计算
//同时这个效果的轮廓受光照的方向影响。
Shader "Demon/SwingAni" {
//属性定义就不解释了
Properties {
_Diffuse("漫反射颜色", Color) = (1.0, 1.0, 1.0, 1.0)
_Speed("动画速度(xyz)和Z方向振幅(w)", Vector) = (1.0, 1.0, 1.0, 1.0)
}
SubShader {
//这是一个透明的shader,所以Queue和RenderType都是Transparent,不会受到投影器影响所以Ignore掉。
//这个shader有顶点动画,所以关闭Unity的Batching功能,不关闭动画效果可能受到影响。
Tags { "Queue" = "Transparent" "RenderType" = "Transparent" "IgnoreProjector" = "True" "DisableBatching" &