我有一个尺寸为1 x 1 x 2的立方体。在较大的(1 x 2)面上,我想在脸的一半上显示一种颜色,在另一半上显示另一种颜色。推荐的实现方法是什么?我应该使用层次结构来构建这个1 x 1 x 2立方体,使用两个1 x 1 x 1不同面色的立方体吗?
答案 0 :(得分:0)
以下是要遵循的模式。根据自己的喜好调整:
var geometry = new THREE.CubeGeometry( 10, 10, 20, 1, 1, 2 );
for ( var i = 0; i < geometry.faces.length; i ++ ) {
geometry.faces[ i ].color.setHSL( Math.random(), 0.5, 0.5 ); // pick your colors
}
var material = new THREE.MeshBasicMaterial( { vertexColors: THREE.FaceColors } );
var mesh = new THREE.Mesh( geometry, material );
如果您使用的是CanvasRenderer
,则可以设置material.overdraw = 0.5
以尝试消除对角线。 WebGLRenderer
不需要这样做。
three.js r.60