2016-12-26 63 views
0

我正在尝试创建具有纹理的菱形图案。我创建了我想要的几何图形,但现在我无法将纹理应用到钻石上。两面纹理

这似乎是分裂它的脸上,我不知道为什么。我对three.js很新,所以任何帮助都会很棒。什么导致这个问题,我该如何解决它?

这里是我的jsfiddle:顶点的第一面https://jsfiddle.net/7fjLar4b/

geometry = new THREE.PlaneGeometry(); 
geometry.vertices = [ 
    new THREE.Vector3(1, 0, 0), 
    new THREE.Vector3(2, 1, 0), 
    new THREE.Vector3(1, 2, 0), 
    new THREE.Vector3(0, 1, 0) 
]; 
geometry.faces = [ 
    new THREE.Face3(1, 2, 3), 
    new THREE.Face3(3, 0, 1) 
]; 
texture = loader.load("https://i.imgur.com/am2LQon.jpg") 

material = new THREE.MeshBasicMaterial({map: texture}); 
mesh = new THREE.Mesh(geometry, material); 
scene.add(mesh); 
+1

这是怎么说也是正常进行:'几何=新THREE.PlaneGeometry(1,1,1 ,1); geometry.scale(Math.sqrt(2),Math.sqrt(2),1); geometry.rotateZ( - Math.PI/4); geometry.translate(1,1,0);'...或者,从头创建一个自定义的THREE.Geometry。但不要将新的顶点/面分配给'THREE.PlaneGeometry'。 – WestLangley

回答

1

订购

geometry.faces = [ 
    new THREE.Face3(2, 3, 1), 
    new THREE.Face3(3, 0, 1) 
];