rra*_*lvv 5 position rotation on-the-fly bulletphysics
我知道它违反了物理定律,但尽管在游戏中经常有实际原因需要立即改变身体的位置和方向,但大多数物理模拟库不允许这样做,所以 BulletPhysics 也不允许。
因此,我很感激对此的任何建议或评论。
顺便说一下,我想到了瞬移,它需要那些即时的改变。此外,一种更奇特的应用可能是惯性 - 例如,当倾斜或旋转带有加速计的便携式设备时,物体看起来相对于用户是静态的。增强现实听起来不应该很俗气。
假设我正确理解你的问题,我建议检查BulletDynamics/Character/btCharacterControllerInterface.h和/或BulletDynamics/Dynamics/btActionInterface.h. 人们常常希望在实现角色移动时“改变规则”——例如,为了实现传送,可以使用void warp(const btVector3& origin)中的方法btCharacterControllerInterface。
就我个人而言,我最幸运的是直接从 继承btActionInterface,存储一个指向 a 的指针btGhostObject,我可以从那里更新并实现我的逻辑,但是 YMMV。
注意:如果您只想更改位置和方向,您应该能够调用void setWorldTransform(const btTransform& worldTrans)的方法btRigidBody。