2017-04-04 9 views
0

現在、私はレーシングゲームを作っています。余分な物理学を持たないリジッドボディーユニティでの行動

私は車をTransform.translateクラスで移動します。

今、私の車にしたいことは、お互いに動かないことです。

私のプレーヤーの車にコリードとRigidBodyを付けて動作しています。

しかし、私の問題は、CPUカーとプレーヤーカーがお互いに出会うたびに、私のプレーヤーカーが画面外に出たり離れたりするような非現実的な動作を示すことです。

これは物理エンジンの動作の一部ですが、RigidBodyには1つのジョブを実行させ、他の物理動作を追加しないようにオブジェクトを相互に移動させない方法がありますか?

アイデア?

答えて

0

はちょうどいくつかの問題があります。

。あなたはtransform.translateで剛体を移動しないでください。これを行うと、コライダーは他のコライダーを通過します。

あなたはRigidbody.AddForceRigidbody.velocityおよびRigidbody.MovePositionでリジッドボディを移動します。これらの方法でリジッドボディを動かすことで、衝突が適切に機能しているはずです。

。車のRigidbodyも移動する必要はありません。

WheelColliderを使用してください。インターネット上でそれらを設定する方法については、多くのオンラインtutorialsがありますが、Unityのドキュメントも問題ありません。

WheelCollider.motorTorqueは、自動車を前方または後方に移動するために使用されます。

WheelCollider.steerAngleは、車を操縦するために使用されます。

WheelCollider.brakeTorqueは、車を制動するために使用されます。

さらに詳しいヘルプが必要な場合は、WheelColliderサンプルhereをご利用ください。

関連する問題