2016-03-30 9 views
2

Ich versuche, die Breite von rosaen Linien auf dem folgenden jsfiddle Link zu ändern:Three.js - Wie Breite von ArrowHelper ändern

animation of object

Wie Sie sehen können, habe ich von den lokalen Basisvektor definieren:

// Add local vector axis of plane 
var thetadir = new THREE.Vector3(1, 0, 0); 
var phidir = new THREE.Vector3(0, -1, 0); 
var originPlane = new THREE.Vector3(0, 0, -radius); 
var lengthPlane = 5; 
var headLengthPlane = 1; 
var headWidthPlane = 1; 
var hex = 0xff00ff; 

var arrowHelperTheta = new THREE.ArrowHelper(thetadir, originPlane, lengthPlane, hex, headLengthPlane, headWidthPlane); 
var arrowHelperPhi = new THREE.ArrowHelper(phidir, originPlane, lengthPlane, hex, headLengthPlane, headWidthPlane); 
camera.add(arrowHelperTheta); 
camera.add(arrowHelperPhi); 

Ich möchte nicht die Breite des Pfeils ändern, sondern den Teil der Linie, der mit ArrowHelper erstellt wurde. Nach einigen Recherchen habe ich keinen Weg gefunden, dies zu erreichen.

Zum Beispiel habe ich versucht, mit:

arrowHelperTheta.line.linewidth = 5; 

aber ohne Erfolg.

Ich sah, dass für THREE.LineBasicMaterial Objekt, können wir die Breite mit linewidth angeben, aber was ist über ArrowHelper Objekt?

Jemand könnte einige Ratschläge geben, um diese Breite zu ändern?

Danke für Ihre Hilfe

Antwort

3

Sie können für THREE.ArrowHelper wie so die Linienbreite ändern:

arrowHelper = new THREE.ArrowHelper(dir, origin, length, color); 

arrowHelper.line.material.linewidth = width; 

Die Linienbreite Einstellung möglicherweise nicht auf bestimmte Windows-Plattformen.

three.js r.75

+0

das ist perfekt, vielen Dank – youpilat13