three.js:face4生成三角形而不是方形 [英] three.js : face4 generates triangle instead of square

查看:562
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆