需求是让spine 一帧一帧播放

目前有个需求,让一个spine动画一帧一帧播放,请问有什么思路可以参考,各位大佬有类似的需求吗?

1赞

那你还不如别搞spine,全换成图片,一张一张换

这种需求还是很少见的。提供的思路就是根据帧数设置spine轨道的时间。
需要知道美术制作spine的帧数是多少,获取当前动画的结束时间多少秒,乘以帧数就是一共多少帧,总时间再除以总帧数就是每帧的时间,你根据第几帧乘以每帧的时间去动态设置spine轨道的时间。
不知道代码咋写的话,评论我,我有时间给你整一下

坐等大佬出demo

let sp = node.getComponent(sp.Skeleton) // 获取spine组件
let animation = sp.findAnimation(“xxx”);//查找对应动画
if (animation) {
let frames = animation.duration * 30;//计算总帧数,spine的帧率一般是每秒30帧,具体看你们的动画
let track = sp.setAnimation(0, “xxx”, loop);
track.timeScale = 1 / frames;//调整播放速度,这里是每秒1帧,具体自己调
}

4赞

大佬!!!拜服!!!

46_exp_420769

学到了 :cow::beer:

1赞

SpineDemo.zip (476.0 KB)

2赞

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。