u/Dzhama_Omarov

Как победить двери в Unity?

О, достопочтенные Боги Unity, да снизойдет ваша мудрость на смертного, запутавшегося в дверях и неписях.

Вопрос такой: как правильно реализовать открывание двери, чтобы она не отодвигала NPC при открытии? Хочется добиться более естественного поведения, а не «таран дверью в лоб».
Сейчас логика такая:

- Дверь на слое Interactable, чтобы игрок мог её открывать

- У двери есть sister-object DoorTrigger - невидимая зона, при входе NPC в которую дверь автоматически открывается
- На двери висит NavMesh Obstacle, который по дефолту выключен (чтобы NavMesh нормально строил пути), а при открытии включается, чтобы NPC начинали обходить дверь

Но не очень хочется, чтобы дверь открывалась прямо сквозь NPC или физически их отталкивала.

Сейчас думаю в сторону анимации + проверки, свободен ли путь для открытия, но решил сначала спросить у тех, кто уже воевал с этим злом. Может есть более правильный/принятый способ?

P.s. сори за видео экрана (вместо нормального скрина), под рукой было только оно

u/Dzhama_Omarov — 12 days ago