[unity3d特效] 用第二套UV实现固定方向的消融

先给出原作链接支持原作!!!

转载图片
之前有一个朋友希望实现一个让舰艇从左往右消融产生的过程,如果改变原始模型的UV布局,贴图也需要改变,这显然是不合适的。这里给出一个操作相对简单,shader也比较好理解的方法。给模型添加2套UV,在sheder里使用第二套UV来处理消融。(PS:利用空间坐标也是可以处理这种效果,只是理解起来比较难,这里给出一个最简单的方法)
首先:
  给模型分出2套UV,再导入Unity。
转载图片
给模型添加UVW编辑组建,在Map Channel这里调整为2.
转载图片
全选所有UV,用片状分部按照你要的方向展开,不需要想画贴图那么复杂
转载图片
2套UV(根据你是要从左往右还是从上到下可以旋转调整UV的方向)
转载图片
原始贴图UV,塌陷编辑组建,导入Unity为FBX。


###下面来实现Shader,用你们熟悉的ShaderFoger:
转载图片
主要分为两块,主要表现模块和遮罩模块
转载图片
遮罩模块红色框里注意需要选择用UV1,其实就是第二套UV,因为程序一般是从0开始算是第一个~。
蓝色框内的主要是为了用一个1~0的参数就可以实现整个过程加的一些运算,这个理解的了就理解,理解不了就照着做,自己多改变多尝试去理解吧。(用多个参数只是K动画的时候麻烦点)
转载图片
表现模块主要是注意红色节点去限制一下遮罩的输出要控制在0~1的输出范围,否则会有一些奇怪的情况发生!然后让消融边沿有变化加入了一张mask贴图,如果要整齐的切割就去掉,Color也是可以去掉的,大家也可以加入更多的自己想要的变化效果。Power主要是为了调节变化的强度(有点像图片对比度的感觉)。
转载图片
最终的参数比较简单。
下面给出ShaderFoger的Shader源文件,售价1卷!需要unity5.4以上版本查看(转载文章,支持原作,请到原作链接下载)
原作链接

猜你喜欢

转载自blog.csdn.net/u012685176/article/details/126719933