Задать вопрос
@Surface-ketch

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

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

P.S. Еще вопрос: можно ли inspector скопировать с одного объекта на другой?
  • Вопрос задан
  • 476 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Разработчик игр на Unity
    13 месяцев
    Далее
  • Академия Эдюсон
    Разработчик игр на Unity + ИИ
    6 месяцев
    Далее
  • Stepik
    PRO C#. Профессия "Backend разработчик"
    4 месяца
    Далее
Решения вопроса 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Есть несколько вариантов реализации:
  • Хранить несколько наборов префабов разных цветов, перед инстанцированием выбирать нужный из списка.
  • Инстанцировать префабы-пустышки, брать настройки из списка и настраивать.

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

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

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

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