2012-07-15 15 views

cevap

33

Öncelikle, nesnenin matrislerinin güncellendiğinden emin olun.

object.updateMatrixWorld(); 

Küme döngüsü genellikle sizin için bunu çağırır. Dünya koordinatları içinde

var vector = object.geometry.vertices[i].clone(); 

vector.applyMatrix4(object.matrixWorld); 

vektör şimdi pozisyon içerecektir: Sonra

, bunu.

Bazı CG referans kitaplarını okumak isteyebilirsiniz. Bir Programcı Kılavuzu'nda James M. Van Verth ve Lars M. Bishop

: grafik ve oyun geliştirme için

  1. 3D matematik astar/Fletcher Dunn ve Oyunları için

  2. Temel Matematik Ian Parberry ve İnteraktif Uygulamalar ile

Three.js bu işlevsellik bui sağlamak Three.js'ye (v50 +) ait

21

Son versiyonlarını R69 the THREE.Object3D class içine. Özellikle, vector adında bir yerel THREE.Vector3 örneğinin Dünya koordinatları almak the localToWorld method kullanmak: dünyayı dönüştürme matematiksel olarak biraz daha karmaşıktır yerel koordinatlara içine koordinatları için

object.localToWorld(vector); 

Benzer şekilde, a worldToLocal method yoktur.) (

object.worldToLocal(vector); 
+0

... ve object.updateMatrixWorld çalıştırmayı unutmayın;: nesneler içine bir dünya vector çevirmek için yerel alan koordinat Bunu denemeden önce bir süre kafamı kaşıyordum. – arpo

+0

Bunu yapmayı denedim ... Hala 0, 0, 0 :(olsun –