【发布时间】:2015-11-07 08:59:28
【问题描述】:
我有一个 threejs 场景,其中包含多个具有透明材质的网格(平面)。渲染器打开了透明度,您可以看出这是因为<body> 具有蓝到黑渐变样式。
<body style="background: linear-gradient(to bottom, #1e5799 0%,#000000 100%);">
以下是我创建平面几何的方法:
const geometry = new THREE.PlaneBufferGeometry( 15, 15, 1 );
然后它们被旋转以使它们相交。
请注意,在某些地方,它们是合成的,因此两种材质混合在一起,但在其他地方,一个平面的一部分会遮挡另一平面的一部分。我的理解是,一个平面被认为在另一个平面的“前面”,这决定了它们的绘制顺序。但是,为什么一个透明的平面会遮挡另一个平面?。
也就是说,即使不可能以正确的顺序绘制相交平面,我仍然希望它们不正确地合成,而是它们被遮挡了。
【问题讨论】:
-
material.depthWrite = false;有帮助吗? -
谢谢@FalkThiele,它有效。您应该将其添加为答案。