3

BulletとOgreを使ったサードパーソンシューティングゲームを開発しています。キャラクターモデルがパワーアップなどの世界のオブジェクトと衝突すると、衝突によってキャラクターに力が加えられ、キャラクターがスピンします。キャラクターに力を加える衝突を防ぐにはどうすればよいですか?

btDynamicsWorld :: setInternalTickCallbackのメソッドを設定したので、衝突しているボディとbtManifoldPointがわかります。

体をスムーズに回転させるためにTorqueを体に当てているので、単純に回転を防ぐことはできません。

ご協力いただきありがとうございます。

4

1 に答える 1

1

私はあなたが言及した物理エンジンには詳しくありませんが、実際の物理については少し知っています...

基本的に、力を表す自由体図と矢印を描くと、正味の効果を決定できます。または、目的の正味の効果がわかっている場合は、どこに力を加えたり、力を取り除いたりする必要があるかを判断できます。

衝突時に、同等かつ反対の力/トルクを追加できます。これにより、オブジェクトにかかる正味の力がゼロになります。

または、力を引き起こしている要素を取り出して、質量をなくすこともできます。力 = 質量 * 加速度。質量がゼロで、物理エンジンが実世界の物理に基づいている場合、衝突時に正味の力が発生することはありません。

それが役立つことを願っています。

于 2012-06-26T07:20:31.883 に答える