Assuming that I understand your question correctly, I'd recommend checking out BulletDynamics/Character/btCharacterControllerInterface.h
and/or BulletDynamics/Dynamics/btActionInterface.h
. Oftentimes one wants to "bend the rules" when implementing character movement - to implement teleporting, for example, one could use the void warp(const btVector3& origin)
method from btCharacterControllerInterface
.
Personally, I've had the best luck inheriting directly from btActionInterface
, storing a pointer to a btGhostObject
that I can update and implementing my logic from there, but YMMV.
Note: If you're just wanting to change the position and orientation, you should be able to call the void setWorldTransform(const btTransform& worldTrans)
method for btRigidBody
.