Unity中更换游戏对象Shader以及Shader属性

using UnityEngine;

public class changeColor : MonoBehaviour 
{
public GameObject obj;
private Renderer renderer;
void Start () {
renderer = obj.GetComponent<Renderer>();
}
public void onClick()
{
renderer.material.shader = Shader.Find("Shader Forge/rim");
renderer.material.SetColor("_RimColor",Color.green);
renderer.material.SetColor("_edge", new Color(1.388f, 0.1939118f, 1.305649f, 1f));
}
  • public 一个对象,可以在外部赋值。
  • renderer获取它的着色器。
  • 给renderer的材质shader赋值(shader.Find),通过SetColor函数,改变“_RimColor”参数和”_edge”参数。

new Color(R,G,B,A)函数,一般的颜色都0-1f,设置高于1就是HDR;

猜你喜欢

转载自blog.csdn.net/noEnoughChief/article/details/80613531