Синтаксис:
Используется javascript
privat var shader1 = Shader.Find("Specular");
privat var shader2 = Shader.Find("Transparent/Diffuse");
var Togg = false;
function OnGUI ()
{
Togg = GUI.Toggle (100,100,100,100), Togg, "", "button");
if (Togg == true)
{
rendered.material.shader = shader2;
}
else
{
rendered.material.shader = shader1;
}
}
function Update ()
{
if(Input.GetButtonDown("change_shader"))
(
if(Togg ==true)
Togg = false;
else
Togg = true;
}
}
privat var shader2 = Shader.Find("Transparent/Diffuse");
var Togg = false;
function OnGUI ()
{
Togg = GUI.Toggle (100,100,100,100), Togg, "", "button");
if (Togg == true)
{
rendered.material.shader = shader2;
}
else
{
rendered.material.shader = shader1;
}
}
function Update ()
{
if(Input.GetButtonDown("change_shader"))
(
if(Togg ==true)
Togg = false;
else
Togg = true;
}
}
В итоге при нажатии с клавиатуры все нормально: меняет шейдер во всех объектах к которым применен, а при клике мышкой - только у того объекта, на который перетащено в ручную в последнюю очередь.
Смешно, конечно, но так. Если просто выбрать в свойствах объекта скрипт из списка - не меняет ничего.
Если кто знает, подскажите, плиз, что это может быть