【发布时间】:2017-12-09 06:22:08
【问题描述】:
我在 Ressorce 文件夹中有一个名为“Walls”的文件夹,其中包含多个纹理,名为“wallRoi[1-26]”。现在我想通过 C# 脚本将这些应用到我在 Unity 中的模型。 解释我的代码:该模型对整面墙进行了多个分段,每个分段都有一个标签(“Wall [1-26]”)。整面墙的标签是“墙”。现在我正在尝试遍历整面墙,并将与文件夹不同的纹理应用于墙的每个分段。我的代码不起作用,有什么目的吗?谢谢!
private UnityEngine.Object[] walltextures;
void mapTexturesOverWalls() {
walltextures = Resources.LoadAll ("Walls", typeof(Texture2D));
Texture2D[] wallTex = (Texture2D)walltextures [walltextures.Length];
GameObject walls = GameObject.FindGameObjectWithTag ("Wall");
Renderer[] renders = walls.GetComponentsInChildren<Renderer> ();
for (int i = 0; i < wallTex.Length; i++) {
foreach (Renderer r in renders) {
r.material.mainTexture = wallTex[i];
UnityEngine.Debug.Log (wallTex + "");
}
}
}
【问题讨论】:
标签: c# unity3d textures texture-mapping