- 954 名前:名前は開発中のものです。 mailto:sage [2017/10/25(水) 18:34:01.96 ID:07iDMuCZ.net]
- Rigidbody2D.angularVelocity は、
Rigidbody2D.AddTorque() もだけど、 重心点(position + centerOfMass)を中心に回転している そのため、centerOfMass≠Vector2.zero となり、 重心点の位置が画像の中心位置からズレると、 中心点回りの画像の自転だったのが、 重心点回りの公転になってしまうよう ちょうど、transform.RotateAround() と同じ感じ (公転中心=重心点、公転軸=z軸、公転角=回転角) それに対して、Rigidbody2D.rotation は、 あくまで画像の中心点(position)を中心に回転している なので、重心点の位置が画像の中心位置からズレると、 逆に、重心点が、画像の中心点回りの公転になってしまう ちょうど、transform.Rotate() と同じ感じ (x軸回転=0,y軸回転=0,z軸回転=回転角) こちらは、自転中心=画像(オブジェクト)の中心点 ちなみに、Rigidbody2D.AddForce() と Rigidbody2D.AddTorque() は、重心点に作用するけど、 Rigidbody2D.AddForceAtPosition() は、 任意の座標点に作用させられる (ただし、回転+移動になってしまう)
|

|