#voxel #solver #collapse #wave #preliminary #map #rules

wfc_voxel

使用预览体素文件进行波函数坍缩求解器

7次发布

0.2.0 2023年5月26日
0.1.5 2023年5月18日

#2234算法

Download history 4/week @ 2024-03-10 1/week @ 2024-03-17 28/week @ 2024-03-31 87/week @ 2024-04-21

69 每月下载量

MIT 许可证

2MB
542

体素输入的波函数坍缩

github crates.io docs.rs

此包提供基于瓦片的基础波函数坍缩求解器。它从预览体素文件自动生成地图生成的规则。目前,该包只支持MagicaVoxel XRAW 文件格式。

安装

添加到当前工作目录

cargoadd wfc_voxel

或者添加到 Cargo.toml

wfc_voxel= "target_version"

使用方法

// Initalize NodeSet from directory
let node_set = NodeSet::new(NODE_SIZE, "path/to/voxel/files", exclusions);

// Initialize Solver
let solver = Solver::new([MAP_WIDTH, MAP_HEIGHT, MAP_WIDTH], node_set.bit_mask(), &node_set);

// Get solved map
let map = solver.solve().unwrap();

// Dimensions of map
let shape = solver.shape();

for x in 0..shape[0] {
    for y in 0..shape[1] {
        for z in 0..shape[2] {
        
            // Get node id and asset name
            let node_id = map[[x, y, z]];
            let asset_name = node_set.get_asset_name(&node_id).unwrap();
            
            // Do something
        }
    }
}

示例

查看等距演示以获取示例项目。预览

依赖关系

~2.5MB
~53K SLoC