首页 > 解决方案 > 向行进方块添加噪音不会影响地形

问题描述

我正在使用行进立方体和 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;
    }

这是我用来将等值应用于点的代码:

等值 = -transform.position.y + Perlin3D(transform.position.x * 0.9f, transform.position.y * 0.9f, transform.position.z * 0.9f);

我的iso级别设置为0。

我的行进立方体似乎工作正常。我已经尝试了很多不同的输出,但我自己编辑点以检查我是否得到正确的输出并且我做到了。不知道该做什么或我做错了什么。

我希望有一些地形。没有看到错误消息,我认为唯一可能出错的问题是噪音本身。因为我的行进立方体中的其他所有东西都按预期工作。谢谢!

标签: c#noiseperlin-noisemarching-cubes

解决方案


感谢所有停下来阅读的人!我已经在我的项目中完全实现了行进立方体。它比我想象的要简单得多。虽然添加“好看”的噪音是一项艰巨的任务,但我仍然没有添加这个令人惊叹的地形。只有好的噪音。考虑到正确实施噪声,这可能会令人惊叹。对于任何寻找答案的人来说,我发现添加一些噪音的方法就是将 nosie 的输出相乘。它看起来不太好,但它是一个开始。谢谢!


推荐阅读