首先感谢这位大佬:天煞魔猎手!虽然我可能把他的名字打错了,但这份感谢的心是真的!
这是他的effect教程贴: 【分享】【新年的礼物】Cocos Creator Shader Effect 系列(2020.02.17 支持Cocos Creator 2.3.0 正式版的材质系统)
下面是主题,不懂制作动图,放个静图意思一下吧,3D拖尾 运行效果:
功能简介:
设置好拖尾的横截面的形状(多边形的顶点坐标),就可以产生一个对应形状的拖尾了。
原理:
根据多边形的顶点坐标,生成一串连续的3D坐标点,作为网格的顶点;
移动时,将拖尾头部的顶点A移动到指定的位置,计算后面相邻的顶点B与A的坐标差C,C再乘以一个缩放系数比如0.2,最后顶点B的坐标加上C,就是B的最终坐标;然后以此类推更新后面的顶点坐标;
effect中,目前只是简单地根据UV坐标的X值设置像素点的透明度,颜色全部为白色,后续将会增加可自定义起始颜色、终点颜色以及纹理。(后续就是无限鸽的意思)
语言表达能力有限,反正代码中注释比较多,大家一定可以自己看懂的。
另外目前的方法是更新顶点坐标后,再将坐标数组赋值给网格,不知道是否有更高效的方法,求大佬指点。目前使用的场景都比较简单,性能倒是没问题,但不知道放到大场景中去,对整体性能影响大不大。
压缩包中,有一个effect,一个materail,一个typeScripte,因为我忘了把预制件添加进来了。
用法很简单,新建一个3D节点,添加MeshRenderer组件,将材质和脚本拖过去就行了。
脚本中几个 public 方法,看一下就知道怎么用了。
目前对 Effect 兴趣正浓,若再做了什么有趣的特效,我会继续分享出来,大家快一起来玩这个 Effect~~
对了,我写这个effect时,用的是cocos creator 2.3.1,若其他版本有运行出错的,可以……问问其他大佬!
白嫖了这么久,这次轮到自己发帖了……希望大家能给我留个言,有个心理安慰~
不太懂论坛发帖的使用方式,这是刚刚添加了起始颜色等功能的新的压缩包,之前那个压缩包直接删除,不会有影响吧:
TrailEffect.rar (5.1 KB)