Wenn ich eine <a-box>
zeichnen. Die Lokalisierung ist in der Mitte der Box. Die Rotation dreht sich um die Mitte der Box. Wie ändere ich den Drehpunkt?Wie ändere ich den Drehpunkt, transformiere Ursprung oder Drehpunkt für ein Objekt A-Frame?
5
A
Antwort
5
Eine Möglichkeit besteht darin, das Objekt in eine übergeordnete Entität zu verschieben, die Position der inneren Entität zu versetzen und dann Transformationen auf die übergeordnete Entität anzuwenden.
Der folgende Code verschiebt den Drehpunkt (oder den Ursprung der Transformation) auf der Y-Achse um 1 Meter.
<a-entity rotation="0 45 0">
<a-box position="0 1 0"></a-box>
</a-entity>
Diese Gelenkkomponente kann auch arbeiten:
var originalPosition = new THREE.Vector3();
var originalRotation = new THREE.Vector3();
/**
* Wrap el.object3D within an outer group. Apply pivot to el.object3D as position.
*/
AFRAME.registerComponent('pivot', {
dependencies: ['position'],
schema: {type: 'vec3'},
init: function() {
var data = this.data;
var el = this.el;
var originalParent = el.object3D.parent;
var originalGroup = el.object3D;
var outerGroup = new THREE.Group();
originalPosition.copy(originalGroup.position);
originalRotation.copy(originalGroup.rotation);
// Detach current group from parent.
originalParent.remove(originalGroup);
outerGroup.add(originalGroup);
// Set new group as the outer group.
originalParent.add(outerGroup);
// Set outer group as new object3D.
el.object3D = outerGroup;
// Apply pivot to original group.
originalGroup.position.set(-1 * data.x, -1 * data.y, -1 * data.z);
// Offset the pivot so that world position not affected.
// And restore position onto outer group.
outerGroup.position.set(data.x + originalPosition.x, data.y + originalPosition.y,
data.z + originalPosition.z);
// Transfer rotation to outer group.
outerGroup.rotation.copy(originalGroup.rotation);
originalGroup.rotation.set(0, 0, 0);
}
});
<a-entity pivot="0 1 0" rotation="0 45 0"></a-entity>
Verwandte Themen
- 1. Drehpunkt im Rechteck
- 2. Unity5 Ebene Drehpunkt erstellen
- 3. Wie bekomme ich den Drehpunkt von einem RotateDrawable programmgesteuert?
- 4. Suchen Drehpunkt für eine Reihe von Punkten
- 5. 4x4 Transformationsmatrix - Wie finde ich den Drehpunkt heraus?
- 6. Unity-Objekte drehen sich nicht um den Drehpunkt
- 7. Linie um einen Drehpunkt drehen? SceneBuilder JavaFx
- 8. Organisieren der Liste mit einem Drehpunkt
- 9. Pandas Größe von Datenrahmen nach einem Drehpunkt?
- 10. QGraphicsItemAnimation: So zeigen Sie den Drehpunkt mit setRotationAt an
- 11. transformiere Ursprung 50% vertikal
- 12. Berechnen Sie die Drehung zwischen zwei Vector2s um einen Drehpunkt
- 13. Können Sie einen beliebigen Drehpunkt in Quicksort auswählen?
- 14. Drehen Sie Inhalt um einen zentralen Drehpunkt in html5
- 15. Laravel 5.2 Ein Drehpunkt mit vielen Beziehungen (gehört zu den meisten/polymorph)?
- 16. Skalierung am Drehpunkt in einem bereits skalierten Knoten
- 17. Ich möchte Array von Anweisungen für jeden Drehpunkt zuweisen, der vom Benutzer ausgewählt wurde
- 18. Ich brauche ein Quicksort, wo das erste Element des relevanten Subarrays der Drehpunkt ist
- 19. A „Kreuztabellen-“ oder „Drehpunkt“ -Tabelle aus einem Array in PHP Aufbau
- 20. Wie transformiere ich ein Standard-COM-Objekt in ActiveX?
- 21. Texture Aframe Objekt
- 22. Ich versuche, eine Lookup-Funktion zu erstellen, ohne einen Drehpunkt zu erstellen
- 23. Wie transformiere ich ein Bitmap-Objekt in ein Mat-Objekt (opencv)?
- 24. Wie transformiere ich ein Java-Objekt in JSON-Baum-Format mit Jackson
- 25. Wie ändere ich den Besitzer für ein rsync
- 26. Wie ändere ich "dieses" Objekt
- 27. Reagieren/AFrame Objekt assign Fehler
- 28. Wie ändere ich die Standard-Pod-Adresse im OpenShift-Ursprung?
- 29. Wie überprüfe ich, ob ein Simplex den Ursprung enthält?
- 30. Wie blende ich den Link/Klick-Ursprung?