Three.js-双面平面单面反转
我使用了将面推到几何体的方法来实现双面平面Three.js-双面平面单面反转,three.js,textures,Three.js,Textures,我使用了将面推到几何体的方法来实现双面平面 for (var i=0, len=geometry.faces.length; i<len; i++) { var face = geometry.faces[i].clone(); face.materialIndex = 1; geometry.faces.push(face); geometry.faceVertexUvs[0].push(geometry.faceVertexUvs[0][i].slice
for (var i=0, len=geometry.faces.length; i<len; i++) {
var face = geometry.faces[i].clone();
face.materialIndex = 1;
geometry.faces.push(face);
geometry.faceVertexUvs[0].push(geometry.faceVertexUvs[0][i].slice(0));
}
for(var i=0,len=geometry.faces.length;i如果要将两个平面背靠背放置,最好的方法如下:
var geometry = new THREE.PlaneGeometry(80, 116, 20, 20);
var geometry2 = geometry.clone();
geometry2.applyMatrix( new THREE.Matrix4().makeRotationY( Math.PI ) );
THREE.GeometryUtils.merge( geometry, geometry2, 1 );
执行此操作时,请确保每个平面的材质都具有material.side=3.FrontSide
更新小提琴:
three.js r.63这会使顶点加倍,我需要做一些繁重的变换,这种方法会使计算加倍不,不会。两种方法都有相同数量的面、法线、顶点法线和uv,只是顶点列表不同。您可以调用geometry.mergeVertices()
如果您愿意,顶点将是相同的。即使它看起来不错,动画开始时还是一团糟,当我可以共享项目时,我会让您知道;现在我只翻转图像:)是的,CanvasRenderer
有其局限性。