@Surface-ketch

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

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

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

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

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

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

Похожие вопросы