1

船の 3D シミュレーションでボートを回転させ、すべての軸で移動できるようにしたいと考えています。しかし、ボートの動きをプログラムした方法では、これは不可能です。

動き方:

this.transform.Translate(Vector3.left * Time.smoothDeltaTime * speed);

回転方法:

this.transform.Rotate(Vector3.forward * Time.smoothDeltaTime * (int)horizontal)

ボートの形状は、(水中衝突の場合) 三角形であるため、固い土台の上で単純に動かすこともできません。

そこで私がやりたいのは、ボートが重力の影響を受けながらも水に浮くようにすることです。次に、ボートが何かにぶつかったときに、「転がり」、最終的には通常の位置に戻ることができる必要があります。

それで、何かにぶつかった後、オブジェクトをゆっくりと通常の回転(z回転0)に戻し、特定の高さに達すると重力の影響を受けないようにする方法はありますか。(Y 値 34.75)

ボートにはRigidbodyMesh Colliderがあります

4

1 に答える 1

2

プレーヤーが攻撃を受けたときに移動できるかどうかはわかりませんが、現在の値をローカル変数に保存できます (例: Transform transformOnHit)。ロールが完了したら、提供された独自のコードを使用して変換し、元の変換に戻すことができます。

于 2013-08-07T08:07:27.400 に答える