three.js:face4生成三角形而不是方形 [英] three.js : face4 generates triangle instead of square
本文介绍了three.js:face4生成三角形而不是方形的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图用tree.js自定义几何生成一个正方形。
但是这个代码
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})
);
生成三角形
有人可以解释为什么会发生这种情况吗?
解决方案
事实上,它应该绘制像蝴蝶结的东西。顶点顺序不正确。交换最后两个顶点。
i'm trying to generate a square with tree.js custom Geometry. but this 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})
);
generates triangle can somebody explain me why it happens?
解决方案
Actually it should be drawing something like a bow-tie. The vertex order is not correct. Swap the last two vertices.
这篇关于three.js:face4生成三角形而不是方形的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文