我尝试在THREE.js中使用MeshLambertMaterial绘制圆柱体,并使用TrackballControl.js旋转它,但发现圆柱体的一半不透明。当旋转到某个角度时,不透明的一半将遮挡透明的一半,看起来像
基本代码是
c = new THREE.CylinderGeometry( 5, 5, 20, 25 );
m = new THREE.MeshLambertMaterial( {
color:0xaaaaaa,
opacity: 0.6,
transparent: true,
side: THREE.DoubleSide
} );
scene.add( new THREE.Mesh( c, m ) );
我搜索了类似的问题,有些人说这是OpenGL和显卡的本质。我只是想确认有没有办法解决这个问题?
谢谢!