c# - 向行进方块添加噪音不会影响地形
问题描述
我正在使用行进立方体和 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。
我的行进立方体似乎工作正常。我已经尝试了很多不同的输出,但我自己编辑点以检查我是否得到正确的输出并且我做到了。不知道该做什么或我做错了什么。
我希望有一些地形。没有看到错误消息,我认为唯一可能出错的问题是噪音本身。因为我的行进立方体中的其他所有东西都按预期工作。谢谢!
解决方案
感谢所有停下来阅读的人!我已经在我的项目中完全实现了行进立方体。它比我想象的要简单得多。虽然添加“好看”的噪音是一项艰巨的任务,但我仍然没有添加这个令人惊叹的地形。只有好的噪音。考虑到正确实施噪声,这可能会令人惊叹。对于任何寻找答案的人来说,我发现添加一些噪音的方法就是将 nosie 的输出相乘。它看起来不太好,但它是一个开始。谢谢!
推荐阅读
- dropbox - Dropbox API 查找新的/更改的文件
- javascript - 未捕获的错误:找不到模块“_process”(JavaScript/Browserify)
- zend-form - 如何在 Zend Form 中添加“子元素”
- javascript - 拦截用户消息进行修改,bot框架
- javascript - 强制烧瓶在重新加载之前等待异步 JS 函数
- unity3d - 为什么按钮过渡动画没有重置到正常位置?
- rust - 为什么在 trait 中返回“Self”有效,但返回“Option”
`需要`大小`? - sql - 为什么列别名在 H2 CTE 中不起作用?
- r - 在 R-studio 中,如何使用相同的 [i] 重复 for 循环,直到满足特定条件?
- php - 我需要从函数返回多个值并将它们打印在 Wordpress 的模板中