4

物理法則に違反していることはわかっていますが、ゲーム内の物体の位置と向きを瞬時に変更する実際的な理由がしばしばありますが、ほとんどの物理シミュレーション ライブラリではそれが許可されていないため、Bullet Physics もそうではありません。

ですから、これに関する提案やコメントをいただければ幸いです。

ちなみに瞬間移動が必要なテレポーテーションが思い浮かびます。また、よりエキゾチックなアプリケーションは慣性である可能性があります。たとえば、加速度計を搭載したポータブル デバイスを傾けたり回転させたりすると、オブジェクトはユーザーに対して静止しているように見えます。拡張現実は安っぽく聞こえるべきではありません。

4

1 に答える 1

2

私があなたの質問を正しく理解していると仮定して、私はチェックアウトBulletDynamics/Character/btCharacterControllerInterface.hおよび/またはをお勧めしBulletDynamics/Dynamics/btActionInterface.hます。多くの場合、キャラクターの動きを実装するときに「ルールを曲げる」必要があります。たとえば、テレポートを実装するには、void warp(const btVector3& origin)からのメソッドを使用できますbtCharacterControllerInterface

個人的には、から直接継承し、そこからロジックを更新および実装できるbtActionInterfaceへのポインターを格納するのが最善の方法でしたが、YMMVです。btGhostObject

注:位置と向きを変更したいだけvoid setWorldTransform(const btTransform& worldTrans)の場合は、のメソッドを呼び出すことができるはずですbtRigidBody

于 2012-11-23T19:25:50.910 に答える