19个版本 (11个重大更新)

0.12.1 2022年5月8日
0.12.0 2022年2月8日
0.11.2 2021年7月28日
0.11.0 2021年2月21日
0.3.0 2018年12月30日

#511 in 图像

Download history 66/week @ 2024-03-30 2/week @ 2024-04-06 6/week @ 2024-06-29 74/week @ 2024-07-06

每月80次下载

MIT许可协议

93KB
2.5K SLoC

图像文件用波函数坍缩

Version Documentation

wfc提供辅助工具,简化基于图像文件生成图像,使用image crate。

示例

大多数示例图像来自mxgmn/WaveFunctionCollapse

简单

此示例生成与输入图像相似的输出图像。

Rooms Input -> Rooms Output1 Rooms Output2

Bricks Input -> Bricks Output1 Bricks Output2

花卉

也可以手动限制输出以编码特定属性。在此示例中

  • 图案的最后一行被设置为地面。
  • 在输出底部的随机位置放置了发芽图案。
  • 禁止自动选择地面图案。
  • 禁止花卉图案出现在输出底部的几行中,以强制花卉的最小高度。

Flowers Input -> Flowers Output1 Flowers Output2

传递标志--animate以查看图像生成过程的实时动画

Flowers Animation

动画

这是一个实时显示从指定图像文件生成图像的工具。

Link Input -> Link Animation

Sewers Input -> Sewers Animation

Cat Input -> cat Animation

cargo run --release --example=animate -- -i examples/cat.png -x100 -y60 -p3 --forever
cargo run --release --example=animate -- -i examples/flowers.png -x100 -y60 -p3 --all-orientations --forever

锚点

取底右角的瓦片并将其强制出现在输出的整个底部和右侧,向上和向左包裹。这是一种防止输出包裹的简单方法。可选地,可以从其他单元格的瓦片选项中删除底右角的瓦片(通常为空白)。

此示例的目的是轻松实验roguelike游戏的等级生成。

默认情况下,底右角的瓦片将从其他单元格的可能性中删除

cargo run --release --example=anchor -- -a -i examples/cat.png -o /tmp/a.png -p3 -x100 -y100

cat maze

您可以使用--allow-corner标志允许底右角的瓦片出现在其他瓦片中。

cargo run --release --example=anchor -- -a -i examples/cat.png -o /tmp/a.png -p3 -x100 -y100 --allow-corner

cat maze sparse

依赖关系

~5MB
~85K SLoC