Von A-Frame können Sie auf Objekt3D einer Entität mit .object3D
oder .getObject3D()
zugreifen, gibt es eine Möglichkeit, das Umgekehrte zu tun, wenn Sie mit three.js-Objekten arbeiten Zu welchem Element gehört ein Objekt? Vielleicht fügen Sie das Elternelement zu userdata
hinzu?Zugriff A-Frame-Element von three.js object3D
2
A
Antwort
4
A-Frame fügt die Entität an object3D
als .el
an.
Zum Beispiel mit einem Unternehmen mit einem Netz:
document.querySelector('a-entity').getObject3D('mesh').el;
Es legt auch die Gruppe object3D
:
document.querySelector('a-entity').object3D.el;
Die während setObject3D()
erfolgt.
Für object3D
s, das A-Frame nicht direkt verwaltet und keine direkte assoziierte A-Frame-Entität besitzt, können wir den Szenengraph nach oben gehen, um den nächsten mit object3D.traverseAncestors
zu finden.
0
Ich schrieb eine kleine Funktion, die mit traverseAncnstors nach oben geht und ein Element zurückgibt, wenn es eines gibt.
function getParentEl(o){
let p;
o.traverseAncestors(function(a){
if(p === undefined && a.el){
p = a;
}
});
if(p){
return p.el
}
return;
}
Verwandte Themen
- 1. Object3D in Object3D funktioniert nicht
- 2. Zugriff auf Object3D geladen mit OBJMTLLoader
- 3. Three.js + Threex + Javascript: "fromArray ist keine Funktion"?
- 4. threejs Colladaloader: Wie man die Szene in object3d umwandelt
- 5. Three.js: Drehen in der Mitte eines Objekts
- 6. Verwenden von three.js JSONLoader
- 7. Kollision für Child-Mesh für Three.js erkennen
- 8. Export von Shadertoy zu Three.js
- 9. Three.js Shape von zufälligen Punkten
- 10. Erstellen von Löchern in three.js
- 11. Three.js Animation
- 12. THREE.js OBJ Loader Objekte
- 13. wie three.js
- 14. Exportieren von Morph-Zielen von Blender Three.js
- 15. Entfernen vieler Objekte aus Three.js Szene langsam
- 16. Three.js Gruppenrendering
- 17. three.js Opazitätsgradient
- 18. Three.js Ellipse
- 19. Three.js Achsenrichtungen
- 20. Three.js - Wie Breite von ArrowHelper ändern
- 21. Three.js - Fragen über (die Verwendung von) THREE.BufferGeometry
- 22. Three.js Positionierung von Quadraten in einem Kreis
- 23. Starten von Cinema 4D [R13 +] und Three.js
- 24. THREE.js Raycasting von einer Kinderkamera zur Szene
- 25. Three.js: Textur von einer IP-Kamera
- 26. Verwenden Three.js PositionalAudio einen Kegel von Klang
- 27. Bevorzugtes 3D-Modell-Format von THREE.JS
- 28. Three.js Aktualisierung Mesh von TubeGeometry Objekt
- 29. Zeichnen von Kanten eines Netzes in Three.js
- 30. Hinzufügen von Offset zu DeviceOrientationControls in three.js
Nicht alle Entitäten haben ein Mesh, aber Sie können immer 'document.querySelector ('a-entity'). Object3D.el' –