Несколько способов изменить цвет спрайта в Unity без создания новых версий для каждой сцены:
Использовать шейдеры. gamedev.stackexchange.com Нужно перейти в архив загрузки Unity, выбрать версию и загрузить встроенные шейдеры для неё. gamedev.stackexchange.com Затем создать копию шейдера спрайтов по умолчанию (DefaultResourcesExtra/Sprites-Default.shader). gamedev.stackexchange.com Это позволит заменить обычное мультипликативное поведение оттенка на то, при котором текстура спрайта сливается в сплошной цвет на основе образца цвета, который задаётся в компоненте SpriteRenderer. gamedev.stackexchange.com
Перебрать пиксели в текстуре спрайта и заменить цвет программно. vk.com Для этого можно использовать скрипты GePixels и SetPixels. vk.com
Использовать параметры шейдера и управлять ими через скрипт C#. www.moddb.com Например, чтобы случайно инвертировать цвета объекта, нужно добавить в раздел «Свойства» шейдера параметр, который будет контролировать инверсию цветов спрайта. www.moddb.com Затем создать новый материал и добавить к нему этот шейдер, после чего добавить этот материал к игровому объекту, для которого нужно изменить цвета. www.moddb.com
Примеры полезных ответов Поиска с Алисой на вопросы из разных сфер. Вопросы сгенерированы нейросетью YandexGPT для актуальных тем, которые определяются на базе обобщённых запросов к Поиску с Алисой.