動的な物体に力を加える場合、力積を に設定しても、この力は持続しないようfalse
です。
私はphysicsBodyを持つsphereNodeを持っています:動的、質量= 1および減衰= 0。ワールドの重力は (0,0,0) に設定されます。
ジェスチャ認識エンジンに力を加えると:
func Detected(sender: UILongPressGestureRecognizer) {
if sender.state == UIGestureRecognizerState.Began {
sphereNode.physicsBody!.applyForce(SCNVector3Make(1, 0, 0), impulse: false)
}
if sender.state == UIGestureRecognizerState.Ended {
sphereNode.physicsBody!.clearAllForces()
}
}
その後、速度は0.0166
あたかも力が 1 フレームの間だけ適用されたかのようになり、ジェスチャを再度トリガーしない限り一定のままになります。
真の一定の力として機能させる唯一の方法は、レンダラー ループで applyforce を呼び出すことですが、非インパルス applyforce との唯一の違いは 60 倍です。これは期待される動作ではないと思います。