Javascript 在THREE.js face中反转顶点顺序

Javascript 在THREE.js face中反转顶点顺序,javascript,three.js,Javascript,Three.js,我需要反转几何体面的顶点顺序。 例如: // create geometry var geometry = new THREE.Geometry(); // create vertices geometry.vertices.push( new THREE.Vector3( 0, 0, 0 ) ); geometry.vertices.push( new THREE.Vector3( 0, 100, 0 ) ); geometry.vertices.push( new THREE.V

我需要反转几何体面的顶点顺序。 例如:

// create geometry
var geometry = new THREE.Geometry();
// create vertices
geometry.vertices.push( new THREE.Vector3( 0,   0,   0 ) );
geometry.vertices.push( new THREE.Vector3( 0,   100, 0 ) );
geometry.vertices.push( new THREE.Vector3( 100, 0,   0 ) );
// create face
var face = new THREE.Face3( 0, 1, 2 );
geometry.faces.push ( face );
// compute normals
geometry.computeFaceNormals();
geometry.computeVertexNormals();
// add to scene
var mesh = new THREE.Mesh(
    geometry,
    new THREE.MeshBasicMaterial({color: 0x00ffff})
);
scene.add( mesh );
现在我需要将面上顶点的顺序从0,1,2更改为2,1,0。但当我手动执行此操作时,无论更新的哪个标志设置为true,它都不起作用

问题是,是否有可能在运行中反转顶点顺序?如果是,如何反转

重要-在这种情况下,最好避免对几何体使用负比例。而且最好避免重新创建对象

3.js:r73

delete mesh.geometry.__directGeometry;

这应该适用于您的更改。由于某些原因,在r72和r73中,directGeometry没有自动更新。

您需要操作的是索引,而不是顶点。查看
geometry.attributes.index.array
了解三角形组成的顺序。
attributes
BufferGeometry
的一部分,但我使用的是普通几何体。我想里面没有指数。