1

我正在尝试创建一个程序化的行星生成工具。我已经像这样一个立方体映射到一个球体开始了:将立方体贴图映射到球体的问题

alt text

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

我曾尝试让于共同坐标。柏林值它们映射到一个球体和前后,但我无法使边缘匹配:

alt text

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

要么我错误地使用高度图数据,要么heightmaps定向不正确(我怀疑它是两者中的一小部分)。

回答

2

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

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

寻找somethign像这样:

cube