前提
・RigidBody2Dで物理エンジンゲームを作っています。
・車のパーツを自由な場所につなぎ、ゴールを目指すようなゲームです。
・パーツ選択時にはRigidBody2DはKinematicになっており、ゲーム開始時にDynamicに変更することで物理演算を開始します。
・全てのパーツは基本となる車にHinge Joint 2Dで接続させます。ここでタイヤのパーツはMotor Speedを持ってます。
・このタイヤのパーツを接続した車がその場で回転してしまいます。
目的
Dynamicへの変更時の回転を無くしたいです。
具体的にはこのGIFのようにただ落下する(+かつタイヤは回転している)ようにしたいです。
試したこと
この現象はMotor Speedが0のときは起こらず、Motor Speedが大きいほど明確に大きく回転します。
ゲーム動作中にリアルタイムでMotor Speedを変更するときも同様に回転を起こすことから、これはバグというよりもどちらかというと物理演算上の仕様と思われます。
その上で回転を無くしたいです。
Kinematic→Dynamicにした瞬間にRigidbody2DのvelocityとangularVelocityを0にしてみたが何も変化は認められませんでした。
補足情報(FW/ツールのバージョンなど)
Unity2020.2.7f1

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/03/02 09:06 編集