相关疑难解决方法(0)

将立方体的面绘制为一个整体,而不是构成该面的三角形-three.js

尝试用不同的颜色绘制每个立方体面时,我发现了一个螺纹,提出了一种实现此目的的方法:

var geometry = new THREE.BoxGeometry(5, 5, 5);
for (var i = 0; i < geometry.faces.length; i++) {
    geometry.faces[i].color.setHex(Math.random() * 0xffffff);
}

var material = new THREE.MeshBasicMaterial({
    color: 0xffffff,
    vertexColors: THREE.FaceColors
});
Run Code Online (Sandbox Code Playgroud)

但是使用three.js r86,我得到以下结果:

LeCube画三角形

得到了组成每个面孔的三角形,分别绘制。

为了达到理想的效果,我对上面的代码进行了以下修改:

var geometry = new THREE.BoxGeometry(5, 5, 5);
for ( var i = 0; i < geometry.faces.length; i += 2 ) {
    var faceColor = Math.random() * 0xffffff;
    geometry.faces[i].color.setHex(faceColor);
    geometry.faces[i+1].color.setHex(faceColor);
}

var material = new THREE.MeshBasicMaterial({
    color: 0xffffff,
    vertexColors: THREE.FaceColors
});
Run Code Online (Sandbox Code Playgroud)

LeCube整体具有彩绘面孔

但这一切似乎有点奏效了!

javascript mesh three.js face

2
推荐指数
1
解决办法
845
查看次数

标签 统计

face ×1

javascript ×1

mesh ×1

three.js ×1