2014-11-19 8 views
9

Chciałbym edytować wektory pozycji, obrotu i skali obiektu, a następnie "zastosować" je do geometrii, która wyzeruje te wektory, ale zachowa transformację.Three.js - Czy mogę "zastosować" pozycję, obrót i skalę do geometrii?

Na przykład powiedzmy, że importuję sześcian o boku długości 1. Minimalne i maksymalne wierzchołki sześcianu znajdują się pod (0, 0, 0) i (1, 1, 1). Ustawiłem skalę obiektu na (2, 2, 2), a następnie zastosowałem transformację do geometrii.

Po zastosowaniu skala jest resetowana do (1, 1, 1), a minimalne i maksymalne wierzchołki kostki to odpowiednio (0, 0, 0) i (2, 2, 2).

Czy jest jakiś wbudowany sposób, aby to zrobić?

Odpowiedz

13

można zastosować do przekształcenia obiektu geometrii obiektu bezpośrednio, a następnie zresetować pozycję, obrót i skala jak w przykładzie:

object.updateMatrix(); 

object.geometry.applyMatrix(object.matrix); 

object.position.set(0, 0, 0); 
object.rotation.set(0, 0, 0); 
object.scale.set(1, 1, 1); 
object.updateMatrix(); 

Three.js r.69