Задать вопрос
@Gemer907

Как в юнити 2д попиксельно изменить цвет текстуры?

Мне нужна помощью с юнити 2д 2025. У меня есть пиксель арт, который состоит из трех цветов: красный, желтый и синий. Я хочу что бы цвета в спрайтах(красный, желтый и синий), случайным образом заменились на другие, например красный на фиолетовый и т.п. При этим сами текстуры нарисованы в пиксель арте, поэтому необходимо изменить каждый пиксель текстуры. Таких текстур будет много и у каждого я хочу независимой покрас(замена цвета). При помощи Post-Processing это сделать сложно, так как нагружает систему и не может действовать на конкретные объекты по разному. Подскажи как такое можно реализовать?
  • Вопрос задан
  • 124 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • GB (GeekBrains)
    Разработчик Игр на Unity
    10 месяцев
    Далее
  • Skillbox
    Профессия Инженер
по тестированию
    10 месяцев
    Далее
  • Skillfactory
    Разработчик игр на Unity
    18 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos Куратор тега Unity
Микропетпроджект - домашнее облако homeCloud
Шейдером ИМХО быстрее всего будет.
Ответ написан
vkvk
@vkvk
Попробуй сделать свой шейдер с помощью ShaderGraph в Unity. Чтобы было базовое понимание что это можешь посмотреть это видео

https://www.youtube.com/watch?v=TbZYoSu1w8Y&list=P...

В теории можно ещё пройтись по самой текстуре через код и поменять ей пиксели таким образом, но как по мне вариант с шейдером самый лучший.

С официальной документации можешь посмотреть публичные методы Texture2D - GetPixel и SetPixel - с ними можно сделать то что описал выше

Документация: https://docs.unity3d.com/2023.2/Documentation/Scri...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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