njin
Engine 2D gọn nhẹ để tự tay làm game theo ý mình. Vibe coding cũng ổn luôn
Loading...
Searching...
No Matches
njin::wfc_rules Struct Tham chiếu

Luật của Wave Function Collapse: có những ô nào, mỗi ô hay gặp đến đâu, và ô nào được đứng cạnh ô nào theo từng hướng. Tiếp...

#include <njin_procgen.h>

Các thuộc tính Public

std::vector< i32 > tiles {}
 Các ô (số thứ tự trong tileset; -1 là ô trống cũng là một ô).
std::vector< f32 > weights {}
 Độ hay gặp của từng ô.
std::vector< u64 > allow {}
 Luật kề, dạng bit: allow[(i * 4 + dir) * words + j / 64] có bit j % 64 nếu ô thứ j được đứng ở hướng dir của ô thứ i.
i32 words = 0
 Số từ 64 bit cho mỗi tập ô.

Mô tả chi tiết

Luật của Wave Function Collapse: có những ô nào, mỗi ô hay gặp đến đâu, và ô nào được đứng cạnh ô nào theo từng hướng.

Dựng bằng wfc_learn() từ một mẫu, hoặc bằng tay với wfc_add_tile() và wfc_allow().

Thông tin về Member Data

◆ weights

std::vector<f32> njin::wfc_rules::weights {}

Độ hay gặp của từng ô.

Lớn: xuất hiện nhiều.

◆ allow

std::vector<u64> njin::wfc_rules::allow {}

Luật kề, dạng bit: allow[(i * 4 + dir) * words + j / 64] có bit j % 64 nếu ô thứ j được đứng ở hướng dir của ô thứ i.

Dùng wfc_allow() thay vì sửa trực tiếp.