在 Scene Kit 上只运行一次 SCNNode 动画

Running a SCNNode animation just once on Scene Kit

我正在尝试从 .dae 文件(3D 模型文件)运行一次动画,这是我的代码:

SCNNode *object = (SCNNode*)[self getMyPlayerObject];
NSString *key = @"hit";
CAAnimation *animation = [_animations[key] copy];
[animation setSpeed:1];
[animation setTimeOffset:0];
[object addAnimation:animation forKey:key];

我试过使用 animation.removedOnCompletion = YES; 但没有用,我试过设置委托并尝试使用 animationDidStop:finished: 方法检测它,但它甚至没有被调用,在 DAE 动画的 SCNNodes 上使用 CAAnimations 时有些奇怪。

有什么办法吗?

提前致谢。

您的动画可能配置为重复播放。检查 repeatCount 属性 是否大于 1。将其设置为 1 将重复动画一次,但您也可以将其设置为 0 以忽略它。如果不是这样,您可以查看 repeatDuration 属性 并将其设置为 0(忽略它),如果它还不是 0.