问题标签 [procedural-generation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4000 浏览

audio - 程序声音生成算法?

我希望能够通过算法创建声音(如怪物咆哮或遥远的雷声。)这在网络上并没有像更传统的程序内容(地形等)那样广泛覆盖。任何人都有关于如何创造这些声音?

0 投票
1 回答
1676 浏览

algorithm - 生成随机树分支

我想生成(图像)一棵树的单个分支(“木本植物”种类)。也许类似于这个分支,或者这个分支。

我需要它有趣但简单,所以只有一个分支,有几圈,只有几个分裂(它从一个肢体变成两个肢体)。它应该从一根粗枝开始,然后分成几根细枝。我不担心叶子,因为我认为叶子是一个完全独立的问题,所以可以稍后处理。

我应该从哪里开始?这涉及到什么?

谢谢

0 投票
1 回答
4123 浏览

recursion - 如何使用柏林噪声或其他算法点对点闪电“螺栓”?

我遇到的 perlin 噪声生成的每个实现都是用于生成 2D 地形等。我在任何地方都找不到一个像样的点对点闪电生成示例。

是否有许多其他形式的产生“闪电”?有人告诉我这就是我想要的。分叉闪电或 2D 树存在哪些算法(我可以将其颠倒过来用于闪电)

我使用多种语言工作,因此伪代码中的示例也可以。

0 投票
3 回答
7035 浏览

language-agnostic - 以程序方式生成二维“blob”图形的好方法

我希望以计算速度快的方式创建一个“blob”。此处的 blob 被定义为可以是任何形状但全部连接的像素的集合。例子:

在哪里 。是死区,o 是标记像素。我只关心“二进制”生成 - 一个像素是 ON 还是 OFF。因此,例如,这些看起来像一些虚构的番茄酱或虚构的细菌或任何有机物质。

什么样的算法可以做到这一点?我真的很茫然

0 投票
1 回答
180 浏览

algorithm - 运行时顶点生成

是否有可能创建一个无限的世界,其中世界是使用算法生成的?XNA 是否支持在运行时加载顶点?

0 投票
2 回答
3518 浏览

opengl - 程序行星、高度图和纹理

我目前正在开发一个 OpenGL 程序行星生成器。我希望将它用于太空 RPG,不会让玩家下到行星表面,所以我忽略了任何与 ROAM 相关的内容。目前,我正在绘制一个带有 VBO 的立方体并映射到一个球体上,如此处所示

我熟悉大多数分形高度图生成技术,并且已经实现了我自己的中点位移版本(我知道在这种情况下没那么有用)。

我的问题是,程序生成高度图的最佳方法是什么。我查看了libnoise,它允许我制作可平铺的高度图/纹理,但据我所知,我需要生成一个像这样的网络:

这

让瓷砖明显。

谁能告诉我最好的路线?

任何输入将不胜感激。

谢谢,

亨利。

0 投票
1 回答
923 浏览

opengl - 将立方体贴图映射到球体的问题

我目前正在尝试创建一个程序行星生成工具。我首先将一个立方体映射到一个球体,如下所示:

替代文字

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

我尝试在将坐标映射到球体之前和之后获取坐标的 perlin 值,但我无法使边缘匹配:

替代文字

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

要么我错误地使用了高度图数据,要么高度图的方向不正确(我怀疑两者都有一点)。

0 投票
4 回答
6380 浏览

opengl - 有没有人有关于地形的 3D 程序生成或分形地形生成的良好资源?

见标题。任何帮助表示赞赏!

0 投票
1 回答
3891 浏览

random - 推箱子游戏随机生成关卡?

我正在制作一个推箱子风格的游戏(即它与推箱子不完全相同,所以我不能使用现有的关卡)并且想在其上创建随机关卡,以便玩家可以继续玩它并且总是有关卡可以尝试。有什么方法可以让计算机自动或半自动地为我生成关卡(半自动,我的意思是我可以给它初始地图,但没有板条箱位置)?

我的一个想法是随机生成一张地图,将板条箱置于完成状态(即在十字架上),然后随机移动板条箱,就好像它们被游戏角色拉动一样。这保证了我的水平应该是可解决的。然而,主要的问题是如何知道关卡是容易/难还是有趣/无聊?例如,推箱子是 NP 难的,所以我不能实际要求机器检查是否有简单的解决方案。

我知道很难创建与人类专家竞争的随机关卡,但我只是在寻找一些不错的东西。

编辑:顺便说一句,我更感兴趣的是生成小而有趣的类似推箱子的关卡,例如 5x5 关卡而不是 50x50 关卡。这可能使事情在计算上更可行。

0 投票
2 回答
21885 浏览

algorithm - 2D瓦片地图生成

我正在开发一个 2D 瓦片引擎,此时我正在研究地图生成算法。

我尝试了通常涉及简单高度图生成的基本方法,例如

  • 山代
  • 柏林噪声
  • 菱形方块

但我总是遇到同样的问题:这种算法在处理也有高度分量的瓦片地图时似乎很合适,但这不是我的情况。

我基本上有草、海、沙漠等精灵,但它们不应该根据生成的高度放置在地图内,而是类似于

  • 一切从海洋开始
  • 岛屿位于地图中间(这是我尝试过的算法大多失败的地方)
  • 生成沙漠(它们应该像周围的随机点)
  • 生成山脉和丘陵链(它们应该像蛇一样)

我应该尝试什么样的方法?

我通过开发专门的算法来做我需要的事情(例如,山从一个点开始,然后按照一个有机会转弯的方向)解决了子组件问题(如沙漠、丘陵和山脉),但我在生成基本的岛屿(可以定制为只是一个泛大陆或许多程度的大小)。

只是为了给你一个实用的想法,我正在寻找类似于文明算法的东西:

替代文字