船の 3D シミュレーションでボートを回転させ、すべての軸で移動できるようにしたいと考えています。しかし、ボートの動きをプログラムした方法では、これは不可能です。
動き方:
this.transform.Translate(Vector3.left * Time.smoothDeltaTime * speed);
回転方法:
this.transform.Rotate(Vector3.forward * Time.smoothDeltaTime * (int)horizontal)
ボートの形状は、(水中衝突の場合) 三角形であるため、固い土台の上で単純に動かすこともできません。
そこで私がやりたいのは、ボートが重力の影響を受けながらも水に浮くようにすることです。次に、ボートが何かにぶつかったときに、「転がり」、最終的には通常の位置に戻ることができる必要があります。
それで、何かにぶつかった後、オブジェクトをゆっくりと通常の回転(z回転0)に戻し、特定の高さに達すると重力の影響を受けないようにする方法はありますか。(Y 値 34.75)
ボートにはRigidbodyとMesh Colliderがあります