gpt4 book ai didi

ios - 使用 SceneKit 的实时连续动画

转载 作者:行者123 更新时间:2023-11-28 07:09:24 26 4
gpt4 key购买 nike

我希望能够将动画实时应用于 SCNNode。基本上,我有一个节点,我想不断地向它输入角度并让它近乎实时地进行动画处理。我试过 runActions:

 var action1:SCNAction = SCNAction.rotateByX(CGFloat(45 / 180.0 * M_PI), y: 0.0, z: 0.0, duration: 0.5);

但是 Action 的问题是,如果我在同一个节点上有一个 Action 流,它只会为最新的 Action 设置动画,你不能让它为多个 Action 设置动画。然后我遇到了序列,但是序列是一个静态数组,所以它们不能实时动态填充。

所以我的问题是有没有人知道用流数据为 scnnode 设置动画的方法。它不一定是实时的,但那会很好

最佳答案

您是否尝试过简单地设置旋转?如果每帧有足够的数据,它应该尽可能平滑。这就是我用于 VR 的内容。

否则,您可以使用 lerp() 函数,该函数在 Unity 中非常流行。我不认为这是 Scenekit 内置的,但我们可以使用 GLKVector4Lerp .这是一个 Objective-C 示例:

- (void)renderer:(id <SCNSceneRenderer>)aRenderer updateAtTime:(NSTimeInterval)time
{
yourNode.rotation = GLKVector4Lerp(yourNode.rotation, newRotation, (float)time);
}

这样你就可以连续发送数据,节点会顺畅跟随,不会跳转。

关于ios - 使用 SceneKit 的实时连续动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29064217/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com