Unity动态纹理变化
本文关键字:变化 纹理 动态 Unity | 更新日期: 2023-09-27 18:29:47
我已经在blender3d中构建了模型,并将其导入到我在fbx中的unity项目中。该模型包含两种材质。之后,我尝试更改materials[1].mainTexture
:的纹理
texs = Resources.LoadAll("", typeof(Texture2D));
photos.GetComponent<Renderer> ().materials[1].mainTexture = (Texture2D)texs[10];
在编辑器模式下,一切似乎都很好,但当我构建应用程序时,模型不会渲染。我已经发现,如果我不改变纹理,一切都会渲染得很好。
我该如何解决这个问题?
加载游戏中的所有Texture2D
资源,然后将第二个材质的mainTexture
设置为加载的资源中的第11个纹理似乎有点风险。如果在项目/纹理文件夹中添加更多的Texture2D
,则索引可能会更改。此外,也许Resources.LoadAll
不能保证您的排序符合预期(在调试模式和发布模式下可能有所不同)。如果在该纹理集合中已经有一个静态索引10
,则应将其声明为静态索引(或仅声明脚本的public Texture2D
),并在检查器中分配它,即固定要应用的纹理。