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