Как победить двери в Unity?
О, достопочтенные Боги Unity, да снизойдет ваша мудрость на смертного, запутавшегося в дверях и неписях.
Вопрос такой: как правильно реализовать открывание двери, чтобы она не отодвигала NPC при открытии? Хочется добиться более естественного поведения, а не «таран дверью в лоб».
Сейчас логика такая:
- Дверь на слое Interactable, чтобы игрок мог её открывать
- У двери есть sister-object DoorTrigger - невидимая зона, при входе NPC в которую дверь автоматически открывается
- На двери висит NavMesh Obstacle, который по дефолту выключен (чтобы NavMesh нормально строил пути), а при открытии включается, чтобы NPC начинали обходить дверь
Но не очень хочется, чтобы дверь открывалась прямо сквозь NPC или физически их отталкивала.
Сейчас думаю в сторону анимации + проверки, свободен ли путь для открытия, но решил сначала спросить у тех, кто уже воевал с этим злом. Может есть более правильный/принятый способ?
P.s. сори за видео экрана (вместо нормального скрина), под рукой было только оно