RigidBody Collision Detection Error
I have an FPS zombie game in progress. The problem regards a player, walls, and zombies. The player does not go through the walls, and the zombie does not go through the player, however the zombie goes through the walls. The zombie is programmed to follow the player. I've tried collision boxes and rigidbody masses, but nothing's working. I just need the zombie not to go through the walls. So my question is essentially, how would I make a moving object not be able to pass a non-moving object? Can someone provide a solution? I'm out of ideas. Thanks
It depends on how they move. are the zombies based on CharacterController or Rigidbody? Are they moved or translated?
The zombie is scripted to follow the player with the following script (in JavaScript, which I don't prefer anymore):
var target : Transform;
var moveSpeed = 20;
var rotationSpeed = 5;
var myTransform : Transform;
function Awake() {
myTransform = transform;
}
function Start() {
target = GameObject.FindWithTag("Player").transform;
}
function Update () {
myTransform.rotation = Quaternion.Slerp(myTransform.rotation,
Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed*Time.deltaTime);
myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;
}
It's based on Rigidbody. It's a 3D game, so it's going to be moved.
i could not get you. is there any moment script for Zombie
Answer by Veerababu.g · Dec 19, 2015 at 06:35 AM
do ray casting on four sides to the Zombie .take four bool variables like hit_T,hit_L,hit_R,hit_D.
if the Zombie is hitting the wall at Left then make hit_L =true; and hit_R,hit_T,hit_D=false.
whenever the hit_L is false then only move the Zombie to the left.like this way do for all
Your answer
Follow this Question
Related Questions
Evading obstacles 0 Answers
Collisions Detection Functions Not Called, Walking Through Walls 2 Answers
How to add gravity to imported objects? 1 Answer
Collisions and ejection without physics etc. 0 Answers
Camera collision with mesh object 0 Answers