gpt4 book ai didi

ios - 当 SceneKit 动画停止时,SpriteKit 的动画覆盖在 SceneKit 上停止

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:13:06 29 4
gpt4 key购买 nike

我想之前一定有人问过这个问题,但我现在找不到,所以暂时先问一下。

当 SceneKit 动画停止时,SpriteKit 的动画覆盖在 SceneKit 上。这是出乎意料的。这就像整个 SCNView 和它的 children 在 3D 内容一不动就进入休眠状态。如何使 spritekit 场景独立于 scenekit 场景的作用而动画?更新:我已经确认,如果我添加一个无限旋转的简单 3D 框并将其保持在某个 View 中,则 3D 场景不会“休眠”,叠加层也不会“休眠”。有什么地方可以阻止 SceneKit 部分休眠吗?

背景:我使用 SCNView.overlaySKScene。我对该叠加层的其中一个子节点进行了无限重复的动画。一旦 SceneKit 场景中发生 Action 和/或动画,覆盖的 2D 内容也会动画化,但一旦 3D 动画停止就会停止。

iOS 9.2.1。

最佳答案

SceneKit View 仅在知道有动画正在进行时才运行其更新/渲染循环。 (因为如果要渲染的内容没有变化,渲染只会浪费 CPU/GPU 时间并耗尽电池电量。)

SceneKit 在猜测何时应该运行渲染循环时相当保守。如果场景中有 CAAnimationSCNAction 或者物理引擎正在做某事,它就会运行,但我认为仅此而已。

如果您有其他想要运行渲染循环的东西(比如需要运行自己的游戏循环的叠加 SKScene),只需设置 View 的 playing 属性为真。

关于ios - 当 SceneKit 动画停止时,SpriteKit 的动画覆盖在 SceneKit 上停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34913997/

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