Проблема со сменой шейдера через скрипт

Шейдеры и все-все-все.

Проблема со сменой шейдера через скрипт

Сообщение dieqy 29 июн 2016, 18:18

Всем привет.
Возникла следующая проблема со сменой шейдера. Сделал скрипт в котором при нажатии на объект меняется шейдер
Синтаксис:
Используется csharp
for (int i = 0; i < allMats.Length; i++) {
 allMats [i].color = new Color (allMats [i].color.r, allMats [i].color.g, allMats [i].color.b, 0.3F);
 allMats [i].shader = Shader.Find ("Transparent/Diffuse");
}

В юнити все работает как и задумано:
Изображение
Но вот после компиляции (в standalone версии) увидел, что происходит следующее:
Изображение
Как это исправить?
dieqy
UNец
 
Сообщения: 4
Зарегистрирован: 29 июн 2016, 17:37

Re: Проблема со сменой шейдера через скрипт

Сообщение waruiyume 29 июн 2016, 18:46

1. Где-то в настройках, можно заполнить список шейдеров, принудительно вносимых в билд.
2. Объявить публичную переменную с типом Shader, и назначить её через инспектор.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 5033
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Проблема со сменой шейдера через скрипт

Сообщение dieqy 29 июн 2016, 19:05

Действительно, первый вариант помог. Спасибо
dieqy
UNец
 
Сообщения: 4
Зарегистрирован: 29 июн 2016, 17:37


Вернуться в Shader Lab

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4