three.js - 是否可以在 Mapbox GL 中实现 3D 水/海洋图层?
问题描述
很长一段时间以来,我一直在使用 three.js 和他们的自定义图层功能在 Mapbox 世界中放置 3D 对象(主要是在水上)。这很好用,但 3D 模型看起来越漂亮,平淡无奇的水似乎就越不令人兴奋。
有谁知道是否可以用 3D 场景替换水,最好用漂亮的海洋/波浪/水着色器?有人做过吗?
我知道那里有很酷的海洋着色器,但我遇到的主要问题是我无法获得仅覆盖水而没有陆地的 3D 场景。
Mapbox 似乎像这样堆叠层(最低的优先):
- 土地(背景)
- 水
- 更多土地特征
因此,将 3D 网格置于土地“下方”,也将其置于水下。把它放在水上,放在陆地上。
这是 Mapbox 自己的示例的链接(直接制作着色器,没有 three.js):https ://docs.mapbox.com/mapbox-gl-js/example/custom-style-layer/
有什么方法可以重写这个例子,使 3D 网格只在水面上可见?