Code: Select all
if (enemyRay.Intersects(cci.CharacterController.Body.CollisionInformation.BoundingBox) <= 200)
{
RunController(dwarfAnimator, walk);
enemyChrachterController.Body.ApplyImpulse(enemyChrachterController.Body.OrientationMatrix.Forward,
Vector3.Normalize(enemyRay.Direction) * 100.0f);
//enemyChrachterController.HorizontalMotionConstraint.MovementDirection =
// Vector2.Normalize(new Vector2(dwarfPosition.X, dwarfPosition.Z)) * enemyChrachterController.Body.Mass;
}
enemyRay.Position = enemyChrachterController.Body.Position;
enemyRay.Direction = Vector3.Normalize(enemyChrachterController.Body.OrientationMatrix.Right);
if (enemyRay.Intersects(cci.CharacterController.Body.CollisionInformation.BoundingBox) <= 200)
{
RunController(dwarfAnimator, walk);
enemyChrachterController.Body.ApplyImpulse(enemyChrachterController.Body.WorldTransform.Forward,
Vector3.Normalize(enemyRay.Direction) * 150.0f);
}
enemyRay.Position = enemyChrachterController.Body.Position;
enemyRay.Direction = Vector3.Normalize(enemyChrachterController.Body.WorldTransform.Forward);
if (enemyRay.Intersects(cci.CharacterController.Body.CollisionInformation.BoundingBox) <= 200)
{
RunController(dwarfAnimator, walk);
enemyChrachterController.Body.ApplyImpulse(enemyChrachterController.Body.WorldTransform.Forward,
Vector3.Normalize(enemyRay.Direction) * 150.0f);
}
enemyRay.Position = enemyChrachterController.Body.Position;
enemyRay.Direction = Vector3.Normalize(enemyChrachterController.Body.WorldTransform.Backward);
if (enemyRay.Intersects(cci.CharacterController.Body.CollisionInformation.BoundingBox) <= 200)
{
RunController(dwarfAnimator, walk);
enemyChrachterController.Body.ApplyImpulse(enemyChrachterController.Body.WorldTransform.Forward,
Vector3.Normalize(enemyRay.Direction) * 150.0f);
}
Norbo how to improve that and make it detect player while it's in the range of 100 meter and so on
