gpt4 book ai didi

java - 使用多个 Perlin 函数如何平滑地形

转载 作者:太空宇宙 更新时间:2023-11-04 11:33:30 26 4
gpt4 key购买 nike

我已经在柏林噪声地形生成器上工作了一段时间了。我一直致力于尝试实现多个噪声函数来在 map 上创建不同的特征,但是我遇到了障碍。不同柏林噪声函数之间的边缘异常粗糙。着色取决于噪声的值,我希望尝试平滑边界上的值以创建更真实的外观。我可以找到有问题的边界区域,但我不知道从那里去哪里。我该如何平滑它?

如果有任何帮助,我通过以下 if 语句确定要使用哪个柏林噪声函数:

if(perlin[i][j] < .22){
finalHeightMap[i][j] = seaPerlin[i][j];
}
else if(perlin[i][j] > .22 && perlin[i][j] < .28){
finalHeightMap[i][j] = plainsPerlin[i][j];
}
else{
finalHeightMap[i][j] = mountainousPerlin[i][j];
}

Generation without borders

以下是严格的边界: Generation with borders

任何帮助将不胜感激!

最佳答案

我假设您知道如何在代码中找到边界,因为它们在上面突出显示。我建议对边缘周围的每个像素应用高斯模糊。您可以使用这个here 。有关它们的外观的演示,请在该页面中向下滚动。

基本上,只需创建每个边缘的像素坐标数组,然后遍历该数组,对每个边缘应用模糊。

伪:

foreach (Location in Boundary)
blur(location, radius)
end

关于java - 使用多个 Perlin 函数如何平滑地形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43528971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com