2014-11-19 21 views
9

Bir nesnenin konumunu, rotasyonunu ve ölçek vektörlerini düzenlemek, daha sonra bunları geometriye 'uygulamak', bu vektörleri sıfıra indirecek, ancak dönüşümü koruyacağım. Örneğin, kenar 1 ile bir küpü içe aktardığımı varsayalım. Küpün minimum ve maksimum köşeleri (0, 0, 0) ve (1, 1, 1) adreslerinde bulunmaktadır. Nesnenin ölçeğini (2, 2, 2)'a ayarlayıp dönüşümü geometriye uygularım.Three.js - Geometriye pozisyon, rotasyon ve ölçek uygulayabilir miyim?

Uygulamayı uyguladıktan sonra, ölçek (1, 1, 1) olarak sıfırlanır ve küpün min ve max köşe noktaları sırasıyla (0, 0, 0) ve (2, 2, 2) olur.

Bunu yapmanın bazı yerleşik yolu var mı?

cevap

13

Sen en doğrudan nesnenin geometrisine dönüştürmek ve sonra pozisyon, döndürme sıfırlayın ve ölçek şöyle bir nesne uygulayabilirsiniz:

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