//游戲對象 private var obj:GameObject; //渲染器 private var render:Renderer; //貼圖 private var texture:Texture; function Start () { //獲取游戲對象 obj = GameObject.Find("Cube"); //獲取該游戲對象的渲染器 render = obj.GetComponent("Renderer"); } function OnGUI() { if (GUILayout.Button("Color",GUILayout.Width(100),GUILayout.Height(50))) { //改變渲染的顏色 render.material.color = Color.green; //添加組件貼圖 render.material.mainTexture = null; } if(GUILayout.Button("add",GUILayout.Width(100),GUILayout.Height(50))) { render.material = null; render.material.mainTexture = texture; } }
更改Shader
,如NewShader
Shader "Custom/NewShader" { Properties { _Color ("Main Color", COLOR) = (1,1,1,1) _AmbientColor("Ambient Color",COLOR) =(0,1,0,1) } SubShader { Pass { Material { Diffuse [_Color] Ambient [_AmbientColor] } Lighting On } } }
在代碼中設置顏色
CubeObj.renderer.material.shader = Shader.Find("Custom/NewShader"); //設置材質的shader print(CubeObj.renderer.material.GetColor("_AmbientColor")); //獲取_AmbientColor 的顏色 CubeObj.renderer.material.SetColor("_AmbientColor", Color.red); //設置_AmbientColor的顏色
//Renderer[] renders = obj.GetComponentsInChildren<Renderer>(); //foreach (Renderer one in renders) //{ // one.material.shader = Shader.Find("Custom/NewShader"); // Color changeColor = new Color(1,0.33f,1,1); // one.material.SetColor("_IlluminCol", changeColor); //設置顏色 //}