对象可以隐藏在其他透明对象后面吗?

时间:2018-11-22 20:26:08

标签: three.js

我已经从PlaneGeometry创建了一个透明的地板。但要求其他物体必须从该平面下方上升。除非它们在地板上,否则它们是不可见的。

即使隐藏在透明物体后面,也可以隐藏那些对象吗?

1 个答案:

答案 0 :(得分:1)

您可以使用局部裁剪平面,因此这些对象仅在该平面上方可见。

请参见以下three.js示例:https://threejs.org/examples/?q=clipping#webgl_clipping

重要部分:

// plane on ground/floor level
var clippingPlane = new THREE.Plane(new THREE.Vector3(0, 1, 0), 0);

// material of objects that will rise up
var material = new THREE.MeshPhongMaterial({
    color: 0x80ee10,
    clippingPlanes: [ clippingPlane ]
    clipShadows: true
});