gpt4 book ai didi

c# - 使用 WWW 类加载多个外部纹理

转载 作者:行者123 更新时间:2023-12-02 17:36:19 24 4
gpt4 key购买 nike

我想使用 Unity 在运行时加载多个 png 文件。我正在使用 www 类加载给定目录的纹理。这是我的代码:

    public IEnumerator LoadPNG(string _path)
{
string[] filePaths = Directory.GetFiles(_path);
foreach (string fileDir in filePaths)
{
using (WWW www = new WWW("file://" + Path.GetFullPath(fileDir )))
{
yield return www;
Texture2D texture = Texture2D.whiteTexture;
www.LoadImageIntoTexture(texture);
this.textureList.Add(texture);
}
}
}

这个函数被称为协程。当程序完成加载所有纹理时,textureList 数组具有正确数量的纹理。但它们都是最后加载的纹理。如有任何帮助,我们将不胜感激。

最佳答案

您只使用一个对象犯了一个小错误:

            using (WWW www = new WWW("file://" + Path.GetFullPath(fileDir )))
{
yield return www;
// Change this...
//Texture2D texture = Texture2D.whiteTexture;
// to this:
Texture2D texture = new Texture2D(0, 0);
//or us this:
//Texture2D texture = www.texture;
www.LoadImageIntoTexture(texture);
textureList.Add(texture);
}

正如 Fre 博士在评论中也指出的那样。

关于c# - 使用 WWW 类加载多个外部纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39620009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com