Использование нескольких коллайдеров

Программирование на Юнити.

Использование нескольких коллайдеров

Сообщение Maldor 02 дек 2010, 18:53

Недавно возник такой вопрос. Вот есть у нас, к примеру, юнит. И надо нам чтоб он врагов на определенном расстоянии замечал.
Для этого мы вешаем на него коллайдер и по OnTriggerEnter вешаем встречу с врагом. И все хорошо.
А вот теперь надо чтобы он замечал одних юнитов на одном расстоянии, а других юнитов(или вообще какой-то левый объект) на другом. С одной стороны было бы удобно повесить на него еще один коллайдер с другим радиусом и отлавливать пересечения с ним. Только нельзя на один обьект несколько коллайдеров повесить.
Можно конечно создать пустые префабы со скриптом и коллайдером, но это как-то неспортивно.
Как вы считаете, как лучше поступить в данной ситуации?
Самая большая победа. это победа над собой.
Аватара пользователя
Maldor
UNец
 
Сообщения: 13
Зарегистрирован: 28 дек 2009, 18:27
Откуда: Днепропетровск
  • Сайт
  • ICQ

Re: Использование нескольких коллайдеров

Сообщение Golandez 02 дек 2010, 19:23

На персонажа повесить дочерный ГО пустышку с коллайдером произвольного размера и обращаться к нему.
Ты нужен только тогда,когда нужен.(С)
Сказать спасибо
Аватара пользователя
Golandez
Пилигрим
 
Сообщения: 1637
Зарегистрирован: 06 авг 2009, 13:55
Откуда: Харьков
Skype: lestardigital

Re: Использование нескольких коллайдеров

Сообщение Maldor 02 дек 2010, 19:31

Есть ли другие варианты. Предложенный Вами вариант мы сейчас и используем.
Самая большая победа. это победа над собой.
Аватара пользователя
Maldor
UNец
 
Сообщения: 13
Зарегистрирован: 28 дек 2009, 18:27
Откуда: Днепропетровск
  • Сайт
  • ICQ

Re: Использование нескольких коллайдеров

Сообщение Zaicheg 02 дек 2010, 19:31

Повесить несколько коллайдеров на один ГО можно, если они разного типа. Но не советую. И отдельно с них срабатывания не отловить.

Можно в вашем случае обойтись и одним коллайдером. Делаете самый большой из необходимых, а затем для объектов, вошедших в него, проверяете дистанцию. Это если у вашего субъекта все "зоны видимости" одинаковой формы.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Использование нескольких коллайдеров

Сообщение Maldor 02 дек 2010, 19:41

Тут вопрос в потреблении ресурсов. Отслеживание события гораздо менее ресурсоемко чем постоянный трекинг в Update.
Можно, конечно зарегистрировать собственный Event и поднимать его при сближении на определенную дистанцию, но вариант с несколькими коллайдерами, имхо предпочтительней.
Самая большая победа. это победа над собой.
Аватара пользователя
Maldor
UNец
 
Сообщения: 13
Зарегистрирован: 28 дек 2009, 18:27
Откуда: Днепропетровск
  • Сайт
  • ICQ

Re: Использование нескольких коллайдеров

Сообщение Zaicheg 02 дек 2010, 20:23

Проверка дистанции только для некоторых типов объектов и только когда они в триггере. И вряд ли дочерний объект со скриптом и коллайдером бесплатен. Прогоните тесты и посмотрите, сколько наэкономите и сэкономите ли. Может, даже и на спички не хватит.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Использование нескольких коллайдеров

Сообщение Kann 02 дек 2010, 22:16

Maldor писал(а):Тут вопрос в потреблении ресурсов. Отслеживание события гораздо менее ресурсоемко чем постоянный трекинг в Update.

пользуйте Coroutine вместо Update, зачем вам в каждом кадре расстояние мерить ?
Kann
Старожил
 
Сообщения: 553
Зарегистрирован: 05 ноя 2009, 14:06

Re: Использование нескольких коллайдеров

Сообщение Maldor 02 дек 2010, 22:44

Это хорошая идея. Спасибо.
Самая большая победа. это победа над собой.
Аватара пользователя
Maldor
UNец
 
Сообщения: 13
Зарегистрирован: 28 дек 2009, 18:27
Откуда: Днепропетровск
  • Сайт
  • ICQ


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3