u3d创建一个材质赋给已经存在的组件
下面的是创建一个材质,贴到对象上:
using UnityEngine;
using System.Collections;
using UnityEditor;//第一个问题一定要把这个包导入进去
public class caizhi : MonoBehaviour {
Texture2D texture = null;//创建一个空的Texture2D
// Use this for initialization
void Start () {
//创建一个材质名字叫做mat
Material mat =new Material(Shader.Find("Transparent/Diffuse"));
//把我们的项目中的图片赋值给我们创建的空的Texture2D
texture = (Texture2D)AssetDatabase.LoadAssetAtPath("Assets/imgs/img.jpg",typeof(Texture2D));
//把已经有图片的Texture2D赋给我们的一步创建的材质材质
mat.mainTexture = texture;
//mat.color = new Color(0,0,1,1);//这个可以更改他的颜色,要把上面那句注释掉
AssetDatabase.CreateAsset(mat,"Assets/mat.mat");
//找到我们创建的cube
GameObject cube1 = (GameObject)GameObject.Find("Cube");
//把我们的材质赋给cube工作结束看效果吧!很霸气的代码啊!
cube1.renderer.material = mat;
}
// Update is called once per frame
void Update () {
}
}
这里是把已经建好的一个材质加载进来,并贴在对象上
Material mat = (Material)AssetDatabase.LoadAssetAtPath
("Assets/metial/MyMaterial.mat",typeof(Material));
GameObject cube = GameObject.Find("Cube");
cube.renderer.material=mat;