2016-08-18 2 views
-1

В моей игре у меня много зомби и игрок. Я импортировал город (созданный с помощью osm в блендере) в мою сцену.Обнаружение стеновых столкновений

Теперь я хочу, Мои зомби должны обнаружить столкновение с стену (если это произошло с ними) и двигаться к игроку.

Я использовал transform.LookAt(target);, чтобы зомби должны были искать его, если не умереть/уничтожить.

Я помечена стена как «стены» и обнаружение столкновения стены/триггера с зомби, так что я не должен пересекать между стенками и OnTriggerEnter, GameObject вращается на 90.

Теперь проблема когда зомби прикасается к стене, происходит столкновение/триггер, и зомби вращается на 90 и начинает двигаться, но он продолжает двигаться. Я хочу, чтобы после окончания стены он снова начал двигаться в сторону игрока.

Любое логическое идея или сценарий, пожалуйста.

+0

Пожалуйста, добавьте код с вашим вопросом, чтобы у нас было с чем работать. Ваша проблема может быть вызвана неоднократным ударом столкновений, вызвавшей логический вызов каждого кадра и т. Д. Пожалуйста, обновите вопрос – TheNoob

ответ

0

Логическая идея: сделать коллайдер в качестве триггера, чтобы зомби вошли в него, а затем повернули на 90 градусов. Затем он повернется к игроку при выходе.

void OnTriggerEnter(Collider other) 
{ 
    //zombie turn (avoid wall) 
} 
void OnTriggerExit(Collider other) 
{ 
    //zombie chases the player by rotating -90degeree or whatever the angle it changed on entering the trigger 
} 
+0

Великий, Великий, Великий .. Спасибо .. :-) Я понял. – amulbhatia

Смежные вопросы