我阅读了文档,这应该可行
MeshRenderer mesh_renderer = gameObject.GetComponent<MeshRenderer> ();
mesh_renderer.material = Resources.Load<Material> ("MapMaterial");
mesh_renderer.material.mainTexture = Resources.Load<Texture> ("cobblestone");
但它分配了一个空的默认 Material 。
cobblestone.jpg 位于 Assets 文件夹中,所以它应该可以正常工作吗?
最佳答案
不,它会相对于 Assets\Resources 文件夹搜索您所请求的资源。
// This will search for 'cobblestone' in Assets/Resources/cobblestone.jpg:
mesh_renderer.material.mainTexture = Resources.Load("cobblestone", typeof(Texture2D));
关于c# - 如何在 Unity 中为 Material 分配纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20024737/