c# - 如何在 Unity 中为 Material 分配纹理

标签 c# unity-game-engine

我阅读了文档,这应该可行

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/

相关文章:

c# - 模拟验证交互

c# - Pdf sharp 字体样式 Bold,Italic and Underline together

c# - RayCastHit 找不到错误消息 *Unity*

java - 用于 Android 2D 游戏的 Unity3D 或 Android Studio?

c# - 接收 TCP 连接问题

c# - 谁关闭了套接字连接

c# - 尝试压缩 Sha1 的大小,也许是制作唯一标识符的更好选择

c# - Asp MVC删除数据后如何刷新索引页

android - 使用 firebase unity sdk firestore 包时 Android 设备上出现错误

python - 正确设置 Unity SerializedProperty 值