用途:为 Godot 项目提供程序化内容生成(地牢、地形、战利品、关卡)的专家级蓝图,强调可复现的种子算法、噪声函数与约束传播。
主要能力:按需求选择算法——蜿蜒隧道/河流用 Drunkard's Walk;结构化房间与走廊用 BSP;有机洞穴用元胞自动机;高度图、生物群系与无限地形用 FastNoiseLite 生成 Image;树木岩石等无聚集散布用泊松盘采样;瓦片邻接与城市街区用波函数坍缩(lite 或完整规则);先建房间图再生成几何用 AStar 图布局;3D 体素/平滑地形用 Marching Cubes;无限分块 3D 地形用 ArrayMesh + LOD;植物/分叉结构用 L 系统;2D 等值线/元球用 Marching Squares。
使用方式:核心强制脚本为 proc_gen_seed_history.gd(每关/每块一个 RandomNumberGenerator,持久化种子与状态)与 multi_threaded_chunk_gen.gd(WorkerThreadPool.add_task 在后台计算数据,再用 call_deferred 回主线程完成节点操作)。生成后需在主线程重烘焙 NavigationRegion。示例:var rng := RandomNumberGenerator.new();rng.seed = run_seed;WorkerThreadPool.add_task(_build_data.bind(run_seed))。
限制与禁忌:禁止在主线程生成分块;禁止每帧查询 FastNoiseLite;禁止用 randi() 做可复现种子;禁止纯随机放置物体;循环必须设 max_iterations 安全中断;禁止从工作线程实例化节点;简单布局不要用复杂 WFC;大规模更新不要逐格 set_cell(),应使用 TileMapPattern 与 set_pattern() 或 set_cells_terrain_connect();生成后必须重烘焙导航;必须支持保存种子与玩家改动。
适用场景:Roguelike 地牢、沙盒体素世界、开放世界分块地形等。前置技能包括 Godot 项目基础、GDScript 掌握与资源数据模式;配套技能涵盖 TileMap、3D 世界构建、导航寻路、性能优化、存档系统与场景管理。具体脚本内容与完整 API 细节暂未提供。