Three.js: face4 génère un triangle au lieu du carré

J'essaie de générer un carré avec la géométrie personnalisée tree.js. Mais ce code

var cubeGeo = new THREE.Geometry(); cubeGeo.vertices.push( new THREE.Vector3( -25, 25, -25 ) ); cubeGeo.vertices.push( new THREE.Vector3( 25, 25, -25 ) ); cubeGeo.vertices.push( new THREE.Vector3( -25, -25, -25 ) ); cubeGeo.vertices.push( new THREE.Vector3( 25, -25, -25 ) ); cubeGeo.faces.push( new THREE.Face4( 0, 1, 2, 3, new THREE.Vector3( 0, 0, 1 ), 0xffffff, 0) ); var cube = new THREE.Mesh( cubeGeo, //new THREE.CubeGeometry(50, 50, 50), new THREE.MeshPhongMaterial({color: 0x696969, emissive: 0x696969, specular:0x696969, shininess: 15}) ); 

Génère un triangle, quelqu'un peut-il m'expliquer pourquoi?

En fait, il faudrait dessiner quelque chose comme une cravate. L'ordre de vertex n'est pas correct. Échangez les deux derniers sommets.

Le problème est avec le TROIS.Face4. Il a été supprimé dans la dernière version. Dans GitHub Three.js – Wiki – Migration on peut lire:

R59 -> r60

Face4 est supprimé. Utilisez 2 Face3 pour l'imiter.

Et la raison pour laquelle vous voyez un triangle au lieu d'un carré est que:

 THREE.Face4 = function ( a, b, c, d, normal, color, materialIndex ) { return new THREE.Face3( a, b, c, normal, color, materialIndex ); };