Code: Select all
Entity e = new Box(freeLookCamera.Position, 2, 2, 2, 1);
e.IsAffectedByGravity = false;
// Prevent the entity from rotating by setting it inverse inertia tensor to zero
Matrix m = new Matrix();
e.LocalInertiaTensorInverse = m;
freeLookCamera.Entity = e;
space.Add(freeLookCamera.Entity);
I'm updating the velocity for the camera's entity as follows:
Code: Select all
Vector3 velocity = speed * direction;
if (entity != null)
{
//entity.LinearVelocity = velocity;
entity.InternalLinearVelocity = velocity;
position = entity.InternalCenterPosition;
}
Code: Select all
space.SimulationSettings.CollisionDetection.CollisionDetectionType = CollisionDetectionType.LinearContinuous;