gpt4 book ai didi

javascript - 当 THREE.PlaneBufferGeometry 位于另一个对象内时,如何隐藏它的一部分?

转载 作者:行者123 更新时间:2023-12-03 08:51:20 29 4
gpt4 key购买 nike

我有一个由 THREE.PlaneBufferGeometry (水面)组成的网格,该表面上有另一个对象(船)。我的问题是,当船稍微入水时,您会看到水突然出现在船内(因为 y 值较高)。

我该如何解决这个问题?

我正在考虑计算船内部的尺寸并尝试将它们传递到水面的着色器。 (如果该点在内部,请将其隐藏。)这是最好的方法吗?我该如何做到这一点?

编辑:水应该与船的两侧重叠(例如显示在船的前面)。澄清一下:

  Current situation:            Desired situation:

B A
| | | |
-----|---------|-------- -----| |--------
|_________| |_________|

从 [A] 处,您不应该看到船对象内的水,从 [B] 处,您不应该看到船的下部。

最佳答案

尝试禁用水面的深度写入。检查以下示例。假设蓝色平原是水,红色平原是船。

//codepen.io/OlxandrPopov/pen/xwVBKg

关于javascript - 当 THREE.PlaneBufferGeometry 位于另一个对象内时,如何隐藏它的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32659057/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com