[开源] 3.8.6/3.8.7/3.8.8一个全新的2d拖尾组件,可合批全平台运行。

SuperTrail

高性能 2D 拖尾组件,适用于 Cocos Creator 3.8.x ,全平台支持

github地址 : https://github.com/soidaken/SuperTrail

预览地址: Cocos Creator | SuperTrail

一个基于 Cocos Creator 3.8.x 的 2D 拖尾组件,使用自定义 assembler 实现,完美和 2D 渲染组件合图合批。

有且只有一种使用方式:

  1. 挂在一个空节点上

  2. 移动这个节点就可以产生正常拖尾

缘由:
项目中需要用到,在论坛上看到这个,web上运行没有问题,但是3.8.7native运行渲染异常.
【包教包会】3.x拖尾MotionStreak威力加强版(支持3.x、支持原生、可合批)
正好我之前的一些渲染组件PolygonSprite有些都是通过自定义assembler实现的,所以也实现了一个拖尾.

有任何问题,可以直接v : soida3

如果你有提交代码到这个仓库的想法,也请联系我加你到仓库贡献者.

希望对你的游戏项目有帮助 :slight_smile:

mm_reward_qrcode_soida

web runtime

native runtime

特性

  • :white_check_mark: 跨平台支持 - Web 和 Native 双runtime渲染正常,那就是支持所有平台了

  • :white_check_mark: 动态合图 - 支持动态合图,可与其他 Sprite 合批渲染

  • :white_check_mark: 宽度渐变 - 头部到尾部宽度平滑过渡

  • :white_check_mark: 透明度渐变 - 头部到尾部透明度平滑过渡

  • :white_check_mark: 颜色渐变 - 头部到尾部颜色平滑过渡

  • :white_check_mark: 自动衰减 - 停止移动后拖尾自动消失

  • :white_check_mark: 零 GC - 环形缓冲区管理采样点,运行时无内存分配

  • :white_check_mark: 暂停/恢复 - 支持暂停和恢复采样

属性

参数名 类型 说明
spriteFrame SpriteFrame 拖尾纹理
maxPoints number 最大采样点数(默认 20)
minDistance number 采样最小距离(默认 3)
headWidth number 头部宽度
tailWidth number 尾部宽度
headAlpha number 头部透明度(0-255)
tailAlpha number 尾部透明度(0-255)
headColor Color 头部颜色
tailColor Color 尾部颜色
fadeTime number 自动衰减时间(秒),0 表示不衰减

API


const trail = node.getComponent(SuperTrail);

// 暂停采样

trail.pause();

// 恢复采样

trail.resume();

// 清除拖尾

trail.clear();

// 检查是否暂停

trail.isPaused();

使用方式

  1. SuperTrail.ts 添加到项目中

  2. 在节点上添加 SuperTrail 组件

  3. 设置纹理和参数

  4. 移动节点即可产生拖尾效果

License

MIT

37赞

太棒了,搞起

mark , mark

29a,29a,29a,29a

不得不支持了。

给开源点个赞

+10086

:heart_eyes_cat: 大佬牛逼

感谢大佬!

顶级!完美效果

这个牛逼,

大佬牛逼!!

大佬, 你就辛辛苦苦写吧, 写完它就是我的了 :stuck_out_tongue:

有问题,增加到1000个以上就不能合批了

好东西收藏了

大佬牛逼Pro,下载为敬。

你想下为什么

?为什么???

大佬牛逼!!!

一个合批的顶点数量有限制。

不过3.8.8好像调整了这一点。