Приветствую.
Есть вроде бы несложная задача, но ни как ее не разрулить... Попробую объяснить суть проблемы.
Что имеем:
1. Есть группа объектов, которые можно перетаскивать мышкой. На каждом таком объекте висит коллайдер. Этот коллайдер в первую очередь использеутся для определения того, что мы тыкнулись в объект мышкой. И еще для определения взаимодействия с коллайдерами из п.2 На эти объекты повешен скрипт с OnTriggerEnter (и с остальными событиями, на всякий случай... чтобы хоть какое-нибудь событие сгенерилось, пока это не важно - не срабатывает ни одно из них)
2. Есть коллайдеры, которые расставлены в сцене, их задача сгенерить событие "Объект перетащен в некоторую заданную точку". Эти вспомогательные коллайдеры в этих самых точках и расположены. Размеры вспомогательных коллайдеров такие, что объект не может одновременно взаимодействовать больше чем с одним таким коллайдером. Изначально объекты, которые можно таскать мышкой расположены тоже в этих точках. Т.е. вспомогательные коллайдеры находятся внутри объектов.
3. Объекты и вспомогательные коллайдеры находятся в разных слоях. После того, как объект выделен и началось его перетаскивание, он помещается в слой к вспомогательным коллайдерам.
4. Все коллайдеры (те что на объектах, и вспомогательные) - Is trigger. Пробовал любые комбинации.
Проблема в том, что при перетаскивании объекта не генерится ни одно их событий (OnTriggerEnter, OnTriggerStay,... OnCollisionEnter и т.д.) Коллайдеры совершенно точно пересекаются.
Вот как-то так.
[Add]: Все это нужно для того, чтобы объект после того как его перетащили не остался там где его бросили, а с анимацией переместился в ближайшую точку. Что-то типа привязки к сетке чтоб получилось.