我知道它违反了物理定律,但是虽然通常有实际的理由可以立即改变游戏中身体的位置和方向,但大多数物理模拟库都不允许这样做,所以Bullet Physics也不会。 / p>
所以,我很感激对此的任何建议或评论。
顺便说一下,脑海中传出需要瞬间变化的传送。此外,更奇特的应用可能是惯性 - 例如,当使用加速度计倾斜或旋转便携式设备时,对象看起来相对于用户是静态的。增强现实不应该听起来很俗气。
答案 0 :(得分:2)
假设我正确理解您的问题,我建议您查看BulletDynamics/Character/btCharacterControllerInterface.h
和/或BulletDynamics/Dynamics/btActionInterface.h
。通常情况下,人们希望“弯曲规则”#34;例如,在实施角色移动时 - 例如,可以使用void warp(const btVector3& origin)
中的btCharacterControllerInterface
方法实现远程传输。
就个人而言,我直接从btActionInterface
继承了最好的运气,存储了一个指向btGhostObject
的指针,我可以从那里更新并实现我的逻辑,但YMMV。
注意:如果您 想要更改位置和方向,您应该可以调用void setWorldTransform(const btTransform& worldTrans)
btRigidBody
方法。