我在blender3d中构建模型并将其导入到fbx中的unity项目中。该模型包含两种材料。之后,我尝试更改materials[1].mainTexture
的纹理:
texs = Resources.LoadAll("", typeof(Texture2D));
photos.GetComponent<Renderer> ().materials[1].mainTexture = (Texture2D)texs[10];
在编辑器模式下,一切似乎都很好,但是当我构建应用程序时,模型不会呈现。我已经发现如果我没有改变纹理,一切都会好起来的。
我该如何解决这个问题?
答案 0 :(得分:0)
在游戏中加载所有Texture2D
资源,然后将第二个材料mainTexture
设置为这些加载的资源中的第11个纹理似乎有点冒险。如果向项目/纹理文件夹添加更多Texture2D
s,则索引可能会更改。此外,也许Resources.LoadAll
并不能保证您预期的顺序(在调试模式和发布模式下可能有所不同)。如果在该纹理集合中已经有一个10
的静态索引,那么您应该将它声明为静态(或者只是public Texture2D
关于脚本并在检查器中指定它,即固定你想要应用的纹理。