Шейдеры только начинаю изучать. Задача такая: у объекта есть полностью прозрачные и полностью непрозрачные части. Хочу через скрипт менять цвет непрозрачной части с помощью gameObject.GetComponent().material.color = Color.цвет; Какой для этого нужно использовать шейдер?
Ответ на данный вопрос очень сильно зависит от версии Unity, хотя я в этом не сильно уверен - стандартный шейдер всегда поддерживал Cutout материалы.
В зависимости от выбранного шейдера пути у нас 2:
Просто создаем новый материал - Unity сам добавит к нему необходимый шейдер, все, что нам останется - указать, что нам нужен Cutout шейдер:
Далее создадим cutout маску и наложим на нее текстуру:
Вернемся к нашему материалу и укажем все настройки, в Albedo положим наше изображение выше и поменяем цвет на, к примеру, красный. После всех этих махинаций применим данный материал к стандартному Quad`у и получим такую картину:
Тут уже посложнее, создаем новый материал и вручную выбираем нужный нам шейдер:
Тут уже сами смотрите, какой конкретно Cutout шейдер вам нужен. В данном примере я выбрал Cutout Diffuse - самый "стандартный" шейдер, если его так можно назвать. Все остальное - навороты со всякими вкусностями, которые к вопросу не относятся.
Осталась мелочь - настроить наш материал:
Применим материал все к тому же Quad`у и получим следующее:
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Программно добавляю картинку, но как устанавливать ей оригинальный размер как у источника, а не auto или от себя ?
Время от времени ловлю OutOfMemoryException при вызове этого метода: BitmapClone (Rectangle, PixelFormat), хотя памяти у меня много
Не замечаю проблему,может кто-то заметит :