在场景中我只有透明物体,因此启用深度测试会导致物体彼此隐藏。我知道深度测试不考虑任何透明度,它只是写入深度缓冲区,查看z
的值。那么如何正确渲染两个透明对象?
我这样做renderer.context.disable(renderer.context.DEPTH_TEST);
但没有改变
多维数据集为MeshLambertMaterial({color: ..., transparent: true, opacity: 0.6})
,飞机为MeshLambertMaterial({color: ..., transparent: true, opacity: 0.4})
立方体在平面之后渲染,但如果立方体是不透明的,那么整个立方体将被正确渲染而不会丢弃(也可以看到它们也是不透明的点因此是可见的)。
那么如何让它考虑透明度而不关心渲染的顺序呢?所以两个透明对象不会相互隐藏?
答案 0 :(得分:3)
在three.js中,您可以通过设置
关闭深度测试material.depthTest = false;
如果在更改相机位置时出现瑕疵,请不要感到惊讶。
您可能还想阅读this answer。
three.js r.80