Greifen Sie auf Object3D zu, das mit OBJMTLLoader geladen wurde

8

Ich erstelle eine Anwendung, mit der Benutzer 3D-Modelle im obj / mtl-Format hochladen können. Der Administrator zeigt eine Vorschau an, wie das geladene Objekt in unserem Viewer aussehen wird. Ich möchte Steuerelemente für den Benutzer bereitstellen, um die anfängliche y-Position des geladenen Objekts und die anfängliche z-Position der Kamera festzulegen. Ich habe den Kamerateil ausgearbeitet, aber ich habe kein Glück mit der Y-Position. Mein Code:

%Vor%

Das Problem scheint zu sein, dass der Verweis auf load nicht mehr verfügbar ist, wenn ich mich außerhalb der Funktion Object3D befinde. Der obige Code gibt einen Javascript Fehler:

%Vor%

Jede Hilfe wird sehr geschätzt!

    
Vince 08.10.2015, 21:47
quelle

2 Antworten

5

Der Kommentar von @mrdoob hat mich dazu gebracht, das selbst zu lösen. Meine Variable obj3d war in der Tat außerhalb des Bereichs, als der jQuery-Callback ausgelöst wurde. Ich konnte es lösen, indem ich die Variablendeklaration in den globalen Bereich verlagerte.

Der Grund, warum ich die Änderungen nicht sofort in der three.js-Szene sah, war, dass ich die Funktion render() aufrufen musste.

%Vor%

Hoffentlich hilft das jemand anderem. Danke, dass Sie mich in die richtige Richtung weisen!

    
Vince 13.10.2015, 18:17
quelle
0

Ich bin mir nicht sicher, aber ich denke, dass Sie obj3d = object.clone() verwenden müssen, weil später Ihr Objekt zerstört wird.

    
Juliane Carla Ferreira 13.10.2015 17:42
quelle

Tags und Links