帧动画如何优化?

  • Creator 版本: 2.4.7

  • 目标平台: ios/android

  • 背景:项目中帧动画的使用场景比较多,由于动画包含位置的调整,所以动画中每一帧的trimType模式都是none,由于动画位置偏移有一定位置,因此图片比较大,比较多,导致内存占用高。

    想法:优化trim的方式。目前的trim方式,就是仅有裁剪,剩余保留部分的图片需要自己进行位置的调整。

    (1)在trim后,拿着返回的offsetTop、offsetLeft 偏移量。
    (2)改写cc.Sprite.spriteFrame方法,增加一个父容器,父容器的宽高为原始宽高,内层子节点的内容为裁剪后的图片,并且设置裁剪后图片,相对于父节点的偏移。

    通过这种方式,来降低帧动画的内存占用。不知道是否具备可行性?或者有其他更好的办法吗?

up up up

删掉,用spine
治本

1赞

删掉,用spine
治本

https://github.com/iwae/Cocos-SpriteSheet-Animator
我3.5.x 写过一个类似的,就是修改uv效率贼高。。

但其实他的问题是图片占用内存大 :rofl:

用帧动画的方案,美术风格是像素画么?既然是像素画,像素画尺寸比较小,完美避开了内存问题

还是要具体看是什么样子的动画吧。不丢一个你觉得比较大的动画来让大伙围观围观?

该不会是一帧就500*500px的大动画吧,用texturepacker合成一张大图就可以把透明像素裁掉同时保留原来的位置

是的,好噢我试试看

https://docs.cocos.com/creator/2.4/manual/zh/asset-workflow/trim.html?h=raw
看下这个