在 SceneKit 中以速度旋转 box/camera

Spin box/camera around with velocity in SceneKit

.allowcameracontrol 的各个方面非常适合我使用。我目前正在围绕立方体旋转相机节点(球体的子节点)。我想让旋转逐渐停止(比如 allowcameracontrol)。

任何人都可以指导如何根据手势的速度慢慢停止旋转吗?给相机增加摩擦力?

我花了很多时间研究这个,这实际上是一个棘手的问题。我发现的最佳方法是:

  1. 每帧保存过去 10 个左右的拖动事件
  2. 发布时,根据这些帧计算 X 轴和 Y 轴的速度
  3. 使用这些速度值继续移动相机
  4. 每一帧,降低速度。查看 spring 个方程式将帮助您使其更逼真
  5. 当速度低于一个小阈值时,停止移动,避免无休止的漂移