Code: Select all
btScalar walkVelocity = btScalar(1.1) * 4.0 * mSprint; // 4 km/h -> 1.1 m/s (5x if sprinting)
btScalar walkSpeed = walkVelocity * dt;
int maxSubSteps = 5;
Ogre::Vector3 strafeDir = (mCharNode->getOrientation() * Ogre::Vector3::UNIT_X) * mDirection.x;
Ogre::Vector3 forwardDir = (charDir * mDirection.z);
Ogre::Vector3 actualDirection = strafeDir + forwardDir;
mCharacter->setWalkDirection(BtOgre::Convert::toBullet(actualDirection) * walkSpeed);