2017-02-01 5 views
1

CONTEXTthree.js - Texturen nicht

Laden Ich versuche, das Beispiel zu erstellen here mit jsfiddle gezeigt. Ich verwende diesen Code das Array von Texturen zu laden:

 var r = "https://github.com/timoxley/threejs/tree/master/examples/textures/cube/Park3Med/"; 
     var urls = [ 
      r + "px.jpg", r + "nx.jpg", 
      r + "py.jpg", r + "ny.jpg", 
      r + "pz.jpg", r + "nz.jpg" 
     ]; 

ich nur versucht, die Textur zu erstellen, nicht die Lage. Gibt es einen Grund, warum das nicht funktionieren würde, wie ich es eingerichtet habe?

Antwort

3

Die angenommene Antwort ist richtig, wenn sie den Fehler angibt, aber vermisst eine einfache Lösung. Sie können Kreuzursprungsbilddaten mit Three.js laden. Sie müssen es nur richtig einrichten. Hier ist das Beispiel Geige mit dem fix: https://jsfiddle.net/1dy343xy/

Die Codeänderung:

var loader = new THREE.CubeTextureLoader(); 

    loader.setCrossOrigin('anonymous'); 

    var textureCube = loader.load(urls); 

Beachten Sie auch, Sie zu schlecht Urls deuteten. Sie müssen git Raw URLs für das, was Sie tun, verwenden, obwohl ich nicht weiß, ob es Git ToS erfüllt.

+0

Vielen Dank für die Hilfe zu diesem - beide Lösungen funktionierte, aber dieses gewinnt für Flexibilität. Follow-up: Gibt es einen Grund, warum die Kameradrehung nicht durch Bewegung auf dem Handy gesteuert wird (ich meine auf einer anderen Seite, nicht auf der Seite)? – Sekoul

+0

Ich habe das hier implementiert, aber nicht neben Mausbewegungen: http://richtr.github.io/three.js/examples/misc_controls_deviceorientation.html – Sekoul

1

Es hat mit Sicherheit zu tun. Sie können Ihr Projekt auf einem Apache- oder Node-Server bereitstellen. Und Sie werden dieses Problem nicht mehr haben.

+0

Danke, dass Sie mich in die richtige Richtung weisen - gibt es einen Workaround dafür? Kannst du ein wenig weiterarbeiten? Die nächste Antwort, die ich sehe, ist diese, aber nicht ganz klar, welche Lösung ist: http://stackoverflow.com/questions/11753720/how-to-load-texture-in-jsfiddle – Sekoul

+0

Ist dies ein Cross-Source-Politik-Problem? Also sollte es gut funktionieren, wenn alles auf der gleichen Domain ist? – Sekoul

+1

Ja, es hat mit Sicherheit zu tun. Nicht sicher, warum ich abgelehnt wurde. Sie können Ihr Projekt auf einem Apache- oder Node-Server bereitstellen. Und Sie werden dieses Problem nicht mehr haben. – Modig

Verwandte Themen