我正在使用行进立方体和3D噪声生成可修改/有趣的地形。为什么我的噪音没有应用到行进的多维数据集?
请记住,我遵循了GPU Gems的实现以消除噪音。
我尝试使用2D噪声获得至少某种效果,但是我遇到了同样的问题。我的问题是,一切都显得平坦。除了不使用着色器外,我正在跟踪多维数据集上的GPU宝石。我将点等值设置为-point.y(位置),并获得正常的平坦地形。然后,我用内置于perlin噪声中的单位添加噪声,然后变得平坦。顺便说一句,我的iso水平是0。我添加了3D perlin噪波方法并使用了它,但仍然一无所获。我不确定自己在做什么错。
这是我用于统一处理3D噪声的代码:
float Perlin3D(float x, float y, float z)
{
float AB = Mathf.PerlinNoise(x, y);
float BC = Mathf.PerlinNoise(y, z);
float AC = Mathf.PerlinNoise(x, z);
float BA = Mathf.PerlinNoise(y, x);
float CB = Mathf.PerlinNoise(z, y);
float CA = Mathf.PerlinNoise(z, x);
float ABC = AB + BC + AC + BA + CB + CA;
return ABC / 6.0f;
}
这是我用来将等值应用于点的代码:
isovalue = -transform.position.y + Perlin3D(transform.position.x * 0.9f,transform.position.y * 0.9f,transform.position.z * 0.9f);
我的iso级别设置为0。
我的行进立方体似乎运行良好。我尝试了很多不同的方法,但是我自己编辑点以检查是否获得正确的输出,并且可以。不知道该怎么办或我做错了。
我希望这会有所帮助。没有看到错误消息,我认为可能唯一的问题是噪声本身。因为我前进的多维数据集中的其他所有内容都按预期运行。谢谢!
答案 0 :(得分:0)
感谢所有停下来阅读的人!我已经在项目中完全实现了行进多维数据集。那比我想的要简单得多。尽管添加“好看”的噪音是一项艰苦的工作,但我仍然没有添加这个惊人的地形。只有好的噪音。考虑到噪声的正确实施,这可能会令人惊讶。对于任何寻求答案的人,我发现增加一些噪音的地方就是将噪声的输出相乘。它看起来不太好,但是它是一个开始。谢谢!