【发布时间】:2016-07-31 12:08:03
【问题描述】:
我正在 Unity 中开发一些 webGL 项目,该项目必须从目录中加载一些外部图像,它在编辑器中运行良好,但是当我构建它时,它在 web 控制台中抛出一个未找到目录的异常。我将图像放在 Assets/StreamingAssets 文件夹中,它将成为构建项目中的 StreamingAssets 文件夹(在根目录下,与 index.html 相同)。图像位于那里,但浏览器仍然抱怨无法找到该目录。 (我是在自己的电脑上打开的,没有运行网络服务器)
我想我遗漏了一些非常明显的东西,但似乎我可以使用一些帮助,我一周前刚刚开始学习统一,而且我对 C# 或 JavaScript 不是很好(我正在尝试变得更好......)这是否与某些javascript安全问题有关?
谁能指出我正确的方向,我应该如何在 Unity WebGL 中读取图像(无需编写)?
string appPath = Application.dataPath;
string[] filePaths = Directory.GetFiles(appPath, "*.jpg");
根据 webGL 中的 unity3d.com 构建了除线程和反射之外的所有内容,因此 IO 应该可以正常工作 - 或者我认为:S
我正在解决一些问题,现在我正在尝试加载一个包含图像路径的文本文件(由';'分隔):
TextAsset ta = Resources.Load<TextAsset>("texManifest");
string[] lines = ta.text.Split(';');
然后我将所有行转换为正确的路径,并将它们添加到列表中:
string temp = Application.streamingAssetsPath + "/textures/" + s;
filePaths.Add(temp);
Debug.Log 告诉我它看起来像这样:
file://////Downloads/FurnitureDresser/build/StreamingAssets/textures/79.jpg
所以除了那些斜线之外似乎没问题(这对我来说有点奇怪)
最后创建纹理:
WWW www = new WWW("file://" + filePaths[i]);
yield return www;
Texture2D new_texture = new Texture2D(120, 80);
www.LoadImageIntoTexture(new_texture);
围绕最后一部分(不确定:webgl 项目似乎不容易调试)它告诉我:NS_ERROR_DOM_BAD_URI:访问受限 URI 被拒绝
有人可以告诉我发生了什么吗?最重要的是,创建一个可以在运行时加载图像的目录的解决方案是什么?
【问题讨论】:
标签: javascript c# unity3d unity-webgl