1

我目前正在尝试创建一个程序行星生成工具。我首先将一个立方体映射到一个球体,如下所示:

替代文字

接下来,我使用 Libnoise 到使用 3D Perlian 噪声的高度图立方体。我能够生成一个无缝的cubmap。我已经在 Photoshop 中检查了这一点,虽然我必须旋转高度图图像以使它们适合网络,但我认为它们是正确的方向。

我尝试在将坐标映射到球体之前和之后获取坐标的 perlin 值,但我无法使边缘匹配:

替代文字

目前我正在创建 -0.8 和 +0.8 之间的几何图形,然后添加 0.2 * 高度图百分比。

要么我错误地使用了高度图数据,要么高度图的方向不正确(我怀疑两者都有一点)。

4

1 回答 1

2

我发现了问题。从 -1 到 1 绘制一个立方体,将其映射到一个球体,然后一旦它是一个球体,将每个坐标乘以 1 +(百分比 * 高度图值),例如,如果您希望高度图添加或删除20% 的球体:

x *= 1 + ( 0.2 * heightmapValue);
y *= 1 + ( 0.2 * heightmapValue);
z *= 1 + ( 0.2 * heightmapValue);

看起来像这样:

立方体

于 2010-11-05T15:52:52.983 回答