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:
Jede Hilfe wird sehr geschätzt!
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.
Hoffentlich hilft das jemand anderem. Danke, dass Sie mich in die richtige Richtung weisen!
Ich bin mir nicht sicher, aber ich denke, dass Sie obj3d = object.clone()
verwenden müssen, weil später Ihr Objekt zerstört wird.
Tags und Links javascript three.js