Как динамически изменить слой у объекта в unity?

417
28 февраля 2018, 06:13

Добрый вечер. Как из кода изменить слой у 3D объекта в иерархии

Answer 1

В любом классе, который наследуется от MonoBehaviour(а это любой класс, который висит на объектах сцены), есть поле gameObject, которое ссылается на объект, на котором висит ваш класс. Через него можно задать слой в виде индекса от 0 до 31.
Например:

gameObject.layer = 1;

Документация Unity по GameObject.layer

Answer 2

Вы можете изменить слой путем присвоения значения для gameObject.layer, как уже упоминалось выше. Если вы хотите присвоить нужный вам слой ссылаясь на имя, как выделено у вас в примере в инспекторе, используйте LayerMask.NameToLayer("Layer").

gameObject.layer = LayerMask.NameToLayer('MyLayer');
READ ALSO
Как задать модель для шаблона?

Как задать модель для шаблона?

Есть сайт на ASPNet Core MVC

200
Защищённая децентрализованная сеть

Защищённая децентрализованная сеть

Доброго времени сутокПытаюсь писать диплом на тему "Разработка приложения многофакторной аутентификации для защищённой децентрализованной...

169
Как задать значение смещения для строки при её форматировании

Как задать значение смещения для строки при её форматировании

Нужно на выходе получить некую таблицу

238
Запись и подсчёт повторяющихся строк C#

Запись и подсчёт повторяющихся строк C#

ЗдравствуйтеЯ получаю из запроса список объектов

190