这更像是一个方法问题,而不仅仅是技术问题.
我有一个生成的球体,分解为六边形作为一个网格.每个六边形瓷砖都是不同类型的地形,例如山脉,丘陵,海洋,飞机等.我想将3d中的每个地形类型绘制为一组多个网格,表示相应的地形类型.
现在最大的问题是如何在运行时根据地形类型将地形网格调整到每个六边形面,地形类型也可以在运行时更改,例如变形.同样考虑六边形不完全正规或相等.
最重要的是,我需要采用网格,表示地形类型并将其与六边形面完美对齐,表示球形地图上的图块.它甚至可能在three.js中吗?如果是,我应该使用什么技术来实现想要的结果?
提前致谢!
下图:
最大放大

缩小地图

小智 4
几年前遇到过类似的问题。我还注意到你有另一个帖子问了同样的问题
您可以对每个六边形进行独特的纹理处理,假设它们是“六角球体”几何体的不同面,就像用立方体制作骰子一样
hexSphere = new THREE.Mesh(
myHexSphereGeometry,
new THREE.MultiMaterial( materials ) );
scene.add( hexSphere );
Run Code Online (Sandbox Code Playgroud)作为一种方法,我的做法类似于使用 柏林噪声开发景观的方式,通过将六角形面纹理插值在一起以使其无缝,并使其更新THREE.MultiMaterial 的 onChange。在您的另一篇文章中,您提到从Blender导入网格。这与我的做法相反,因为它可能会导致一系列恶意问题。
这是我希望适合您的另一种选择:
希望这有帮助。
| 归档时间: |
|
| 查看次数: |
2058 次 |
| 最近记录: |