Scenekit 如何在地球/球体周围弯曲/扭曲/弯曲瓷砖

Posted

技术标签:

【中文标题】Scenekit 如何在地球/球体周围弯曲/扭曲/弯曲瓷砖【英文标题】:Scenekit How to curve/warp/bend a tile around a globe / sphere 【发布时间】:2021-02-21 13:05:15 【问题描述】:

我想创建一个球体(地球),上面有几块瓷砖,如下图所示。 (来自 CesiumJs 的每个顶点的线框)

所以基本上我将地球表面分成几个较小的瓦片,这些瓦片必须以某种方式遵循球体的曲率。

如何像这样变形/扭曲/弯曲单个图块? 到目前为止,我唯一的想法是通过中间的几个点来模仿外观(三角形越多,外观越平滑)。

我可以使用任何着色器来解决这个问题或其他想法吗?

非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

根据我的经验,一种可能的方法是使用预定义的资源(享元模式)。

但是,使用这种方法或手工绘制仍然需要投影,例如将点表示为(纬度,经度)坐标。

使用着色器对交互 afaik 没有帮助。

【讨论】:

以上是关于Scenekit 如何在地球/球体周围弯曲/扭曲/弯曲瓷砖的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Xcode 10 在 SceneKit 编辑器中旋转对象

shader编程-三维场景下SDF建模,对模型进行扭曲弯曲裁剪掏空操作(WebGL-Shader开发基础12)

shader编程-三维场景下SDF建模,对模型进行扭曲弯曲裁剪掏空操作(WebGL-Shader开发基础12)

shader编程-三维场景下SDF建模,对模型进行扭曲弯曲裁剪掏空操作(WebGL-Shader开发基础12)

shader编程-三维场景下SDF建模,对模型进行扭曲弯曲裁剪掏空操作(WebGL-Shader开发基础12)

计算地球平面地图上两点之间的最短路径