unity3d中 如何用js代码来更改shader中的3个子着色器?

   更新日期:2024.05.23
用SetColor()函数
具体看官方脚本手册的Material类
例子是:
function Start () {
//设置glossy着色器以便使用高光颜色
renderer.material.shader = Shader.Find (" Glossy");
//设置高光色为红色
renderer.material.SetColor ("_SpecColor", Color.red );
}

unity3d-material
#pragma strict
var alpha;
var fadeSpeed : float=10;
var timeLeft:float=10;
var rotationSpeed:float = 100.0f;
function Start () {
}
function Update () {
transform.Rotate(Vector3(0,rotationSpeed*Time.deltaTime,0));
if (gameObject.renderer.material.color.a > 0)
{
timeLeft = timeLeft - Time.deltaTime;
alpha = (timeLeft/fadeSpeed);
gameObject.renderer.material.color.a=alpha ;
gameObject.transform.position.y+=0.002;

}
}
利用上面的代码只能改变Material中Element 0,改变不了element2,element3

相关链接

欢迎反馈与建议,请联系电邮
2024 © 视觉网