0
我有一个由THREE.PlaneBufferGeometry
(水面)制成的网格,并且在那个表面上是另一个物体(一条船)。我的问题是,当船驶入水中时,你会发现船内突然出现水(因为y值较高)。如何在其他对象内部隐藏THREE.PlaneBufferGeometry的一部分?
我该如何解决这个问题?
我正在考虑计算船的内部尺寸,并试图将它们传递给水面的着色器。 (如果点在里面,隐藏它。)这是最好的方法吗?我该怎么做?
编辑:水应重叠(例如显示在前面)船的两侧。要clearify:
Current situation: Desired situation:
B A
| | | |
-----|---------|-------- -----| |--------
|_________| |_________|
从[A]你不应该看到这艘船对象内,从[B]的水,你不应该看到船的下部。
由于某些原因,我无法发布链接到codepen.io,所以只需在http: –
前加上链接即可。谢谢!唯一的问题是,当你从侧面看时,水应该显示在船体侧面的前方。:S – Philip