SceneKit: перемещать SCNNode, устанавливая свойство скорости непосредственно, как в SpriteKit?

В SpriteKit можно перемещать узлы, непосредственно устанавливая их velocity имущество.

Однако в SceneKit это не работает. настройка velocity - как в обратных вызовах игрового цикла, так и вне функций игрового цикла - похоже, не имеет никакого эффекта.

Этот ответ одного из инженеров Apple SceneKit предполагает, что доступ к свойству speed возможен только во время обратного вызова игрового цикла, например updateAtTime,

Так ясно, что есть ограничения вокруг velocity имущество.

Можно ли напрямую управлять свойством с помощью SCNNodes?

1 ответ

Решение

Как любезно указал @Confused, документы показывают, что можно установить velocity напрямую: https://developer.apple.com/reference/scenekit/scnphysicsbody/1514757-velocity

Ключ в том, чтобы использовать динамический тип тела, а не кинематический (и, очевидно, не статический).

Другие вопросы по тегам