Ich entwickle ein WebGL-Projekt in Unity, das einige externe Bilder aus einem Verzeichnis laden muss, es läuft alles gut im Editor, aber wenn ich es erstelle, löst es eine Directory Not Found-Ausnahme im Web Konsole. Ich lege die Bilder in den Ordner "Assets/StreamingAssets", der im Build-Projekt zum Ordner "StreamingAssets" wird (im Root-Verzeichnis, wie bei index.html). Bilder befinden sich dort, aber der Browser beschwert sich immer noch, dass er das Verzeichnis nicht finden kann. (Ich öffne es auf meinem eigenen Computer, kein laufender Webserver)Unity WebGL Externe Assets
Ich denke, ich vermisse etwas sehr offensichtliches, aber es scheint, dass ich etwas Hilfe gebrauchen könnte, ich habe vor einer Woche angefangen, Einheit zu lernen , und ich bin nicht so toll mit C# oder JavaScript (Ich versuche, besser zu werden ...) Ist das irgendwie mit einigen Javascript-Sicherheitsproblemen verbunden?
Könnte mir bitte jemand in die richtige Richtung zeigen, wie ich in Unity WebGL Bilder lesen soll (kein Schreiben nötig)?
string appPath = Application.dataPath;
string[] filePaths = Directory.GetFiles(appPath, "*.jpg");
Nach unity3d.com in WebGL baut alles außer Einfädeln und Reflexion unterstützt wird, so sollte IO arbeiten werden - oder so dachte ich: S
Ich war ein wenig herum zu arbeiten und jetzt bin ich versuchen, eine Textdatei, die die Pfade der Bilder zu laden, die (getrennt durch ‚;‘):
TextAsset ta = Resources.Load<TextAsset>("texManifest");
string[] lines = ta.text.Split(';');
Dann konvertiere ich alle Zeilen richtigen Weg, und fügen sie sie in eine Liste:
string temp = Application.streamingAssetsPath + "/textures/" + s;
filePaths.Add(temp);
debug.log mir sagt, es sieht wie folgt aus:
Datei: //////Downloads/FurnitureDresser/build/StreamingAssets/textures/79.jpg
das scheint also außer zu allright für alle, die Schrägstriche (das sieht ein wenig seltsam für mich)
Und schließlich die Textur erstellen:
WWW www = new WWW("file://" + filePaths[i]);
yield return www;
Texture2D new_texture = new Texture2D(120, 80);
www.LoadImageIntoTexture(new_texture);
Und um diesen letzten Teil (nicht sicher: webgl Projekte scheint nicht leicht debug) es sagt me: NS_ERROR_DOM_BAD_URI: Zugriff auf eingeschränkte URI verweigert
Kann mir bitte jemand aufklären, was passiert? Und vor allem, was wäre die richtige Lösung, um ein Verzeichnis zu erstellen, aus dem ich Bilder zur Laufzeit laden kann?
Ich muss in der Lage sein, den Inhalt des Ordners zu ändern, ohne das Projekt neu zu erstellen. Jetzt versuche ich eine Textdatei zu erstellen, die als Manifest aller Bilder fungiert. Ich lade diese Textdatei (als Ressource - textasset) und lade die Bilder aus den aus der Textdatei erhaltenen Pfaden. Allerdings gibt es mir NS_ERROR_DOM_BAD_URI: Zugriff auf eingeschränkte URI verweigert. Ich werde der Frage noch etwas Code hinzufügen, vielleicht hilft das ein bisschen. –
Danke für die Hilfe Doug, es scheint, dass meine Kopfschmerzen durch das Präfix Datei: // verursacht wurde ... –