让 Claude、Cursor、Copilot 等 AI 助手通过 MCP 工具与技能操作 Unity 编辑器并调试游戏的插件。
mxgmn/WaveFunctionCollapse
一个 C# 程序,基于 Wave Function Collapse 算法,从单张示例生成局部相似的位图与瓦片地图。
- Star
- 25,410
- Fork
- 1,368
- 未关闭 Issue
- 10
- 最近提交
- 3天前
这是什么?
WaveFunctionCollapse 可以从一张示例图片或一组带邻接规则的瓦片中生成新的位图或瓦片地图。输出只包含输入中出现过的 NxN 像素图案,因此局部看起来与示例相似,整体布局却是新的。名字借用了量子力学中波函数坍缩的概念,但算法使用的是实数系数,并不涉及真实的量子计算。
算法反复选择熵最低的未观测区域,按照输入中图案的出现频率将其坍缩为确定状态,再把由此产生的约束传播到整个输出上。如果某个格子的所有可能性都被排除,运行就会遇到矛盾而失败,项目中提到这种情况在实践中并不常见。仓库同时提供适用于像素样本的重叠模型和适用于瓦片集的简单瓦片模型,并包含对称性系统以缩短瓦片邻接列表。
该项目是基于 .NET 的控制台程序,通过 samples.xml 配置参数,结果输出到 output 文件夹。它常用于游戏关卡与像素画纹理的程序化生成,社区也已有多种语言的移植版本。
核心功能
- 01从单张输入图片生成只包含其 NxN 图案的新位图。
- 02同时支持用于像素样本的重叠模型和用于瓦片集的简单瓦片模型。
- 03采用最小熵策略选择下一个要坍缩的区域。
- 04内置瓦片对称性系统,缩短邻接关系列表。
- 05以 .NET 控制台程序运行,参数通过 samples.xml 配置。
适用场景
- 用手工制作的瓦片集生成游戏关卡或地牢布局。
- 生成与示例图相似的像素画地图或纹理。
- 在设计者设定约束的前提下,原型化程序化生成流程。
- 学习或教授 Wave Function Collapse 算法。
标签
常见问题
- WaveFunctionCollapse 是什么?
- 一个 C# 程序,基于 Wave Function Collapse 算法,从单张示例生成局部相似的位图与瓦片地图。 WaveFunctionCollapse 可以从一张示例图片或一组带邻接规则的瓦片中生成新的位图或瓦片地图。输出只包含输入中出现过的 NxN 像素图案,因此局部看起来与示例相似,整体布局却是新的。名字借用了量子力学中波函数坍缩的概念,但算法使用的是实数系数,并不涉及真实的量子计算。
- WaveFunctionCollapse 可以免费使用吗?用的什么许可证?
- WaveFunctionCollapse 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- WaveFunctionCollapse 还在维护吗?
- 活跃维护中。WaveFunctionCollapse 最近一次提交是在 2026年10月15日。
- WaveFunctionCollapse 适合用来做什么?
- 用手工制作的瓦片集生成游戏关卡或地牢布局。 生成与示例图相似的像素画地图或纹理。 在设计者设定约束的前提下,原型化程序化生成流程。 学习或教授 Wave Function Collapse 算法。
- 在哪里获取 WaveFunctionCollapse?
- 源代码和安装说明在 GitHub 上:https://github.com/mxgmn/WaveFunctionCollapse
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
4492399C#Apache-2.0更新于 10小时前
一款用 Rust 编写的命令行与 WASM 工具,可将 AI 生成的凌乱像素画对齐到规整网格并量化调色板。
3286205RustMIT更新于 3个月前
Yarn Spinner 的官方 Unity 集成,用于在游戏中运行类剧本格式的对话系统。
840129C#MIT更新于 6天前
按主题整理的高质量公开数据集合集,涵盖生物、气候、农业、网络等领域。
8万1.2万MIT更新于 4天前
面向开发者的桌面瑞士军刀,内置约 30 个离线小工具,用于编解码、格式化、转换和测试数据。
3.2万1764C#MIT更新于 20天前
一款 Windows 屏幕录制工具,可录制选定区域、摄像头或画板,并导出为 GIF、APNG、视频等格式。
2.8万2378C#MS-PL更新于 4天前