Приветствую всех друзья! В прошлой статье мы рассмотреть компонент Transform. Сегодня мы поговорим о слоях и работе с ними в Unity.
Слои часто используются в камерах для рендеринга определенной части сцены, а также источниками света чтобы осветить определенные участки сцены. Также их можно использовать для физики движка, чтобы делать послойный рейкастинг (рейкастинг - это выпуск луча из камеры который сталкивается с физическими объектами и передает информацию о столкновениях), или же, например, игнорировать коллайдеры (коллайдер – это физическая оболочка игрового объекта) на определенных слоях, дабы они не взаимодействовали друг на друга.
Чтобы можно было назначить слой на игровой объект, его сначала нужно создать. Для его создания откройте категорию Tags and layers, для этого перейдите в главном меню Unity по пути Edit/Project Settings, и выберите данную категорию в списке категорий слева.
Мы можем создать новый слой в полях User layer x – где х это номер слоя. Просто впишите в поле название слоя, и он сохранится в проекте (главное при выходе из Unity не забудьте сохранить проект File/Save Project). Стоит упомянуть что Unity поддерживает всего 32 слоя, причем первые 8 заняты системой, поэтому мудро пользуйтесь данной системой.
Для того чтобы назначить только что созданный слой на игровой объект необходимо выбрать его на сцене или в окне иерархии, а далее в окне инспектора в верхней части найти выпадающий список Layer и в нем выбрать интересующий вас слой.
Для того чтобы отключить рендеринг объектов определенного слоя на камере, необходимо выбрать игровой объект с компонентом камеры (по умолчанию он называется Main Camera) в окне иерархии, далее в окне инспектора на компоненте Camera нажмите на выпадающий список у пункта Culling Mask, после чего те слои рядом с которыми стоят галочки будут отображаться камерой, если же вы уберете какому-либо из слоев галочку, то он перестанет отображаться в игровом окне.
Также мы можем выбирать какие слои будут выбраны рейкастингом, но так как это тема больше о программировании и физики, то я расскажу о ней в своих будущих статьях.
Обнаружение столкновений на основе слоев – это способ настроить столкновения между игровыми объектами, настроенными на определенный слой/слои.
Чтобы открыть окно настройки коллизий – необходимо пройти по пути Edit/Project Settings и выбрать секцию Physics. В самом низу скриншота вы можете увидеть матрицу коллизии – пересечение строки и столбца показывает какой слой с каким взаимодействуют (если он отмечен галочкой), если же убрать галочку, то эти два слоя перестанут взаимодействовать между собой в физическом плане. Это иногда необходимо, например, чтобы сделать какое-то препятствие/ловушку в которую враги никогда не попадут при ее пересечении, но если туда попадет игрок, то она сработает на него. Или же просто сделать объекты проходимыми.
На сегодня это все. В следующей статье мы познакомимся с компонентами ограничений в Unity, что это такое и как с ними работать. Спасибо всем, кто дочитал эту статью до конца, подписывайтесь на канал, ставьте лайки, а для тех, у кого появились вопросы - спрашивайте в комментариях! А если вы хотите помочь данному каналу в развитии – делитесь этой статьей с друзьями в социальных сетях!