cocos2dx 3D 关键帧动画逻辑如何实现?

看了官方对于3D的说明,指明了暂时不支持关键帧动画。
但是又看到了游戏演示里有角色施法发火球的视频。

一般发火球,不是动画播放到某一个关键帧,触发产生火球的行为么,
那不支持关键帧动画,是如何触发生成这个火球的呢。

这里可能是概念有点混淆,帧动画这里代表的是“节点动画”,就是不用骨骼驱动的动画,例如 做一个小球 弹跳。

版主你好 我想咨询的是3D模型的动画里如何响应其关键帧事件
因为 2D动画里是有 onFrameEvent(cocostudio::Bone *bone, const std::string& evt, int originFrameIndex, int currentFrameIndex) 的回调
告诉程序 哪根骨骼触发了xx事件。

但是3D动画里没看到相应的接口。

火球的触发,其实是把一段动画拆分成2个动画处理。然后中间插入了一个CallFunc回调。

谢谢 我想问的就是 这个 CallFunc 的回调是怎么加的呢

比如一个 攻击动作 需要拆成
1.攻击-攻击判定发生 2.攻击判定发生-攻击结束 两段
才能实现类似2D动画中的关键帧效果么。

再请问一下 3D动画的关键帧 会在之后的版本里推出么 有大概的时间么

是的。

就是Animate3D-CallFunc-Animate3D

非常期待能够推出和2D动画一样的关键帧编辑功能!

还是编辑器实现方便,在特殊帧处插入回调事件

首先 3D 没有 关键帧的概念, 只有 动画事件。

他是 通过时间轴来迭代bone的 变换 旋转和缩放的。

我也在想自己增加这个功能。 现在的思路是获得一个准确的时间。 但貌似 UPDATE 里面的 t 是一个价值。 需要换算出来。 还有现在无法做一个时间点的标记。

貌似U3D 也是 用时间轴的。 我现在卡在这里了。
实在不行就只能用 animation - callfun - animation 了。

貌似挖了个坟?

Spawn结合DelayTime和CallFunc,就可以实现帧事件