2016-06-02 17 views
1

Wie umkehren Sie die Richtung der Anwendung der Textur im Objekt CylinderGeometry?Wie kann man die Richtung der Textur im Objekt CylinderGeometry umkehren?

var obj = new THREE.Mesh(
    new THREE.CylinderGeometry(20, 15, 1, 20), 
    new THREE.MeshLambertMaterial({color: 0x000000}) //the material is later changed to the correct 
); 

Vielen Dank im Voraus für Ihre Hilfe :)

+0

Was meinen Sie? Kannst du genauer sein? – Wilt

+0

Es ging darum, was wir unten präsentieren. Danke :) –

+0

@ JarosławOsmólski Ist das was du meinst mit "umgekehrte Richtung"? 'texture.wrapS = textur.wrapT = THREE.RepeatWrapping; texture.repeat.set (- 1, 1); ' – WestLangley

Antwort

1

Diese Funktion:

 var invertTextureOnCylinderGeometry = function(obj) { 
      var faceVertexes = obj.geometry.faceVertexUvs[0]; 
      var faceVertexesLength = faceVertexes.length; 
      var divisionT = 1/(faceVertexesLength * 0.25); 
      faceVertexes.map(function(face, index) { 
       if (index < 0.5*faceVertexesLength) { 
        var thisIndexDivision = [ 
         Math.floor(index/2) * divisionT, 
         Math.ceil((index+divisionT)/2) * divisionT 
        ]; 
        if (index % 2) { 
         face[0].set(1, thisIndexDivision[0]); 
         face[1].set(1, thisIndexDivision[1]); 
         face[2].set(0, thisIndexDivision[1]); 
        } else { 
         face[0].set(0, thisIndexDivision[0]); 
         face[1].set(1, thisIndexDivision[0]); 
         face[2].set(0, thisIndexDivision[1]); 
        } 
       } 
      }); 
      obj.geometry.uvsNeedUpdate = true; 
     }; 
+0

einfach akzeptieren ..... –

+0

'nieparzyste' und' parzyste'? Die Sprache sollte Englisch auf SO sein. – Wilt

+0

Es war nur vorübergehend leichter für mich. Ich entfernte. Kommentar hier und so ist unnötig. –