繁体   English   中英

如何在Three.js中使立方体的内部颜色可见?

[英]How to make inside color of cube visible in three.js?

我想从一个立方体开始用THREE.js建造一个房间。 到目前为止,我有以下代码:

function loadModelcube() {
    console.log("Inside the function");
    cube.traverse( function( node ) {
    if( node.material ) {
        node.material.side = THREE.DoubleSide;
        }
    });
    scene.add( cube );
}

var geometry = new THREE.BoxGeometry(100,50,100);
var material = new THREE.MeshBasicMaterial({color: 0xff4444, wireframe: false}); 
cube = new THREE.Mesh(geometry, material);

var managercube = new THREE.LoadingManager( loadModelcube );

使用上面的代码,该多维数据集是不可见,按预期方式。 另外,我没有看到控制台日志按预期方式打印出来(即由于调用了loadModelcube()函数)。 有人知道出什么事了吗?

为了使盒子的几何形状从内部可见,您需要确保正确设置materialside字段 (即分配给cube网格的side字段 )。

在您的情况下,将material.side设置为THREE.BackSide将获得所需的结果。

应用以下更改将为您工作:

var geometry = new THREE.BoxGeometry(100,50,100);
var material = new THREE.MeshBasicMaterial({color: 0xff4444, wireframe: false}); 

/* Cause the material to be visible for inside and outside */
material.side = THREE.BackSide; 

var cube = new THREE.Mesh(geometry, material);
scene.add(cube);

另外,如果希望从内部和外部都可以看到多维数据集,则可以将material.side设置为THREE.DoubleSide

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM