Unity. Как заставить Raycast игнорировать родительский объект?
Есть префаб некого объекта. На нём висит коллайдер и rigidbody. На сцене таких объектов может быть до 1000 и каждый из них должен "видеть" другие объекты, но проблема в том, что Рейкаст преградждается родительским коллайдером. Выставление слоя Ignore Raycast разумеется не решает проблему.
Ответы (2 шт):
Автор решения: Ivan Rechkin
→ Ссылка
Есть несколько путей:
- Делать RaycastAll и пропускать родительский коллайдер
- Выпускать луч не из координат родителя, а чуть подальше
- Если слои разные у объектов, можешь использовать LayerMask
Автор решения: skroliks
→ Ссылка
Была похожая проблема и решил ее так:
отключить Queries Start In Colliders в настройках проекта (убрать галочку)
Вариант может быть не совсем подходящим конкретно для Вашего проекта, но это нужно уже смотреть сам проект. Главное - что конкретную эту проблему оно решить поможет.