開始加點力
let distance = simd_distance(focusNode.simdPosition,
simd_make_float3(transform.m41,
transform.m42,
transform.m43))
let direction = SCNVector3(-(distance * 2.5) * transform.m31,
-(distance * 2.5) * (transform.m32 - Float.pi / 4),
-(distance * 2.5) * transform.m33)
這裡給虛擬物件一個力, 這裏必須包含虛擬物件與focus Node的距離,為了計算施力與施力點的距離
,再來給它一些施力的方向。
最後把剛剛的設定加到虛擬物件上
node.physicsBody?.resetTransform()
node.physicsBody?.applyForce(direction, asImpulse: true)
這裡先更新虛擬物件的位置,然後對它施力