这个项目能做什么
# WaveFunctionCollapse
该程序生成与输入位图局部相似的位图。局部相似意味着输出只包含输入中存在的 N×N 像素模式,并且输出中的模式分布与输入中的分布相似。该算法先将输出初始化为可能状态的叠加,然后反复观察香农熵最低的区域并传播约束,最终坍缩为确定状态。它可能遇到矛盾;避免矛盾是 NP 困难的,但在实践中这种情况很少见。
该仓库包含核心算法、示例和文档。它支持重叠模型和简单平铺模型,并提供对称性、约束和更高维度等选项。代码是一个使用 C# 和 .NET Core 编写的控制台应用程序,没有外部依赖。可以使用 `dotnet run` 或 `dotnet publish` 构建。该项目启发了大量其他语言的移植版本(C++、Python、Rust、JavaScript 等),以及对 Unity、Unreal Engine 和 Godot 等游戏引擎的适配。它已用于 Bad North、Caves of Qud 和 Townscaper 等商业游戏,并催生了学术研究。README 还讨论了 ConvChain 和纹理合成等相关算法,提供了详细的算法说明以及对先前工作的引用。
评论
0 评分人数达到10人后显示
登录后参与讨论。