@Surface-ketch

Как рандомно изменять графику в Unity?

Как сделать, чтобы каждый раз при перезапуске уровня изменялся цвет игровых объектов?
То есть допустим есть красный квадрат, красная платформа и т.д. с настроенной физикой, скриптами и т.д., можно ли сделать чтобы при перезапуске уровня вместо красных грузились спрайты(именно спрайты, а не префабы) с зелеными квадратом и платформой?

P.S. Еще вопрос: можно ли inspector скопировать с одного объекта на другой?
  • Вопрос задан
  • 470 просмотров
Решения вопроса 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Есть несколько вариантов реализации:
  • Хранить несколько наборов префабов разных цветов, перед инстанцированием выбирать нужный из списка.
  • Инстанцировать префабы-пустышки, брать настройки из списка и настраивать.

Если у вас объекты сложные в настройке, а отличаются только цветом, то лучше идти по второму пути. Цвет менять можно множеством способов: подменять спрайт или цвет в SpriteRenderer, вешать разные материалы, крутить цвет в шейдере и т. п. Задача сводится к тому, чтобы получить ссылку на изменяемый объект в управляющем скрипте и подменить нужную переменную.

P. S. Кликаете правой кнопкой по заголовку компонента, копируете
iurWD
Кликаете по компоненту на другом объекте, вставляете
RDk5g
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
EgorkZe
@EgorkZe
iOS (Swift), GoLang
Вот эту ветку можно почитать, тут ответ на ваш вопрос Ссылка
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы