BoxGeometry stimmt nicht korrekt mit SphereGeometry überein

8

Ich versuche, Spikes auf der Erde zu erzeugen (Kugelgeometrie). Obwohl alles gut funktioniert, passen die Spikes nicht zum Globus. Ich möchte Spike, um etwas wie unten Bild auszurichten. Aber meine Spikes nicht lookAt(new THREE.Vector3(0,0,0)) trotz erwähnt. Bitte hilf mir.

Ich habe absichtlich Code erwähnt, der zum Debuggen benötigt wird. Lass es mich wissen, wenn du mehr Code dafür brauchst. Unter dem Bild ist, wie ich meine Spikes mit der Kugel ausrichten möchte.

Aber so sieht es aus

Meine Haupt-JS-Initialisierungsdatei.

%Vor%

Unten ist der Code angegeben, der für das Erzeugen von Spikes auf Globe verantwortlich ist.

%Vor%     
Rahul Dess 15.08.2016, 22:30
quelle

2 Antworten

1

Denken Sie daran, dass lookAt einen Richtungsvektor verwendet, Sie geben dieser Methode den Vektor (0, 0, 0), das ist eigentlich kein normalisierter Richtungsvektor. Sie müssen also die Richtung berechnen:

  

von Ihrer Box-Position zum Mittelpunkt der Sphäre UND normalisieren Sie es.

%Vor%

Und jetzt nur ein Satz von guten Konventionen, die Ihnen helfen können:

%Vor%

Hier würde ich lieber einen anderen Var-Namen für die Box-Geometrie verwenden, nicht mit der "Klassen" -Definition von THREE verwechseln und den Namenskonventionen folgen:

%Vor%

Und hier:

%Vor%

Sie können einfach einstellen:

%Vor%     
juagicre 17.08.2016 08:12
quelle
0

Ich triff dieses Problem auch, und ich reparierte es, die Lösung ist: box.lookAt (neu THREE.Vector3 (0, 0, 0)) muss nach box.scale.z = xxxx

    
keben hu 14.09.2016 05:35
quelle

Tags und Links