2017-07-23 1 views
0

Ich versuche, ein Geländemodell von einer JSON-Datei über eine URL zu meiner Bildszene zu laden. Ich verwende den Code aus einem anderen Projekt und ich kann nicht verstehen, wie die JSON-Datei url mit dem gleichen Format erhalten, wie sie es taten:Laden Json-Dateikomponenten in Aframe über URL

/* global AFRAME, THREE */ 
AFRAME.registerComponent('ground', { 
    schema: { 
    url: { default: 'https://cdn.aframe.io/link-traversal/models/ground.json' } 
    }, 
    update: function() { 
    var objectLoader; 
    var self = this; 
    if (this.objectLoader) { return; } 
    objectLoader = this.objectLoader = new THREE.ObjectLoader(); 
    objectLoader.setCrossOrigin(''); 
    objectLoader.load(this.data.url, function (obj) { 
     obj.children.forEach(function (value) { 
     if (value instanceof THREE.Mesh) { 
      value.geometry.computeFaceNormals(); 
      value.geometry.computeVertexNormals(); 
      value.receiveShadow = true; 
      value.material.shading = THREE.FlatShading; 
     } 
     }); 
     self.el.setObject3D('ground', obj); 
    }); 
    } 
}); 

Wie kann ich meine JSON-Datei url im gleichen Format erhalten and show this when opened ?

+0

Wie erhalten Sie das verknüpfte JSON-Parameterfenster? –

Antwort

1

Zuerst muss die Datei über das https-Protokoll bedient werden, oder Sie können die Datei nicht über den Link abrufen.

Wenn Sie einen CDN. (....) Link zu einer JSON-Datei erhalten möchten, müssen Sie ihn auf github hochladen und die URL in die Datei rawgit einfügen, wo Sie Ihren CDN-Link erhalten.

Sie können auch versuchen glitch.me, wo Sie Ihre Assets in ein Projekt hochladen können.

Wenn Sie Ihr eigenes Hosting haben, verknüpfen es nur lokal: /modelDirectory/jsonfile.json

ich nicht ganz die ‚gleiche Format‘ Teil erhalten Sie, wenn Sie sich fragen, wie ein Modell zu JSON verdeckte, der einfachste Weg, Laden Sie es in clara.io hoch und laden Sie die three.js JSON-Exportdateien herunter. Abgesehen davon, können Sie einige Exporteure finden, die in Blender, wie die ursprünglichen threejs one implementiert werden müssen.

+0

Ich habe meine JSON-Datei auf Github. Ich habe versucht, rawgit, wie Sie erwähnt haben, aber wenn ich es in meinem Projekt verknüpfen funktioniert es nicht und so öffnete ich den CDN-Link und ich bekomme einen Fehler (404: nicht gefunden). Ich benutze auch Glitch, aber ich kann die Model-Texturen nicht laden, deshalb versuche ich eine JSON-Datei zu verwenden. – dianadfonseca

+0

Herausgefunden, warum ich den 404-Fehler bekam. Mein Github-Repräsentant war privat. Musste an die Öffentlichkeit wechseln. Die Verbindung produziert das Modell immer noch nicht in meiner Szene auf Glitch, aber vielleicht liegt das an dem Code. Ich habe die drei Js-Exporteur verwendet, um meine JSON-Datei von Blender zu erstellen. Aber ich denke, die Komponenten sind nicht die gleichen wie die Variablen im obigen Code. Das könnte das Problem sein. – dianadfonseca