生存战争玩家社区 · 社区推荐

自定义建筑生成框架:构千形(BLDG)

作者:Tp16b · 更新于

构千形 BLDG 让 Survivalcraft 的建筑内容,从“一次性搭建”,升级为“可导出、可复用、可投放、可生成”的长期资产。 构千形(Tp.BuildingGeneration) 是一个面向 Survivalcraft API 1.9 的建筑生成框架。它把建筑模板导出、手动试摆、规则化生成和业务模组接入串成一条完整链路,让建筑内容不再只是地图里的静态摆设,而是可以持续复用的世界生成资源。 一句话卖点 建一次,就能反复投放。 既能手动摆建筑,也能让世界自己长出建筑。 默认接入极轻,业务模组大多不需要写注册代码。 支持模板元数据、标签、变体、后处理器,能从“能用”直接走到“可扩展”。 它解决了什么问题 如果你在做 Survivalcraft 建筑内容,通常会反复遇到几件事: 地图里搭好的建筑,难以标准化复用。 模板能导出来,但很难进入自动生成流程。 规则能写,但落地时需要大量样板代码和调试成本。 模组作者想发布自己的建筑包,却不想为了接入框架重写一套系统。 构千形的目标很直接:把这些环节打通,让“建筑资产化”变成一条顺手的工作流。 核心体验 1. 从游戏内直接导出模板 在游戏内即可打开导出界面,把选区导出为 .bldg 模板,并同时生成 .bmeta.json 元数据文件与摘要信息。 适合先搭建筑、后沉淀资源的创作方式 支持记录作者、标签、锚点、空气忽略、光照保留等信息 导出的模板可以直接进入后续测试与发布流程 2. 先手动试摆,再接自动生成 你不需要一上来就调规则。构千形支持先用 API 或调试入口手动放置模板,先确认建筑本身是对的,再接到生成系统里。 F8 可打开模板导出界面 F9 可输入模板 ID 进行手动试摆调试 支持 BuildingGenerationApi.TryPlace(...) 直接从代码调用 这意味着建筑问题和生成问题可以拆开排查,调试成本会低很多。 3. 规则驱动,让建筑进入世界生成 当模板验证通过后,就可以通过规则文件把它接入世界生成流程。 当前已支持: 地表生成 水下海床生成 按高度、温度、湿度、地表方块筛选 按模板标签筛选 概率、边距、最小间距控制 自定义条件与后处理器 它不是简单的“把一坨方块塞进世界”,而是一个可以描述生成约束、控制投放位置、管理多区块落地的完整流程。 4. 对业务模组友好的默认接入 大多数业务模组接入构千形,不需要额外写注册代码。 默认只需要三步: 在 modinfo.json 中声明依赖 Tp.BuildingGeneration 把模板放进 Assets/BuildingGeneration/Templates/ / 把规则放进 Assets/BuildingGeneration/Rules/ / 框架会自动扫描并加载这些资源。只有在你需要自定义条件、后处理器、方块旋转适配或非默认资源目录时,才需要写额外接入代码。 为什么它有吸引力 对建筑作者 你可以先专注把建筑搭好,再把成果沉淀成可重复利用的模板,不必每次重新手摆。 对模组作者 你可以把建筑资源和业务逻辑分层管理,让“模板发布”和“生成规则发布”成为稳定资产,而不是一次性的工程文件。 对内容项目 你可以更系统地构建遗迹、村落、地标、事件点、海底结构等内容,让世界观不再只靠手工地图支撑。 典型使用场景 遗迹、哨塔、废墟、祭坛等地表结构投放 海床遗迹、水下设施等特殊区域生成 剧情点、任务点、标记点生成后再交给后处理器补内容 独立业务模组携带自己的建筑模板包随模组发布 创作者先在游戏里搭原型,再逐步升级为正式内容资源 不只是模板,还包括“模板语义” 构千形支持在模板元数据中声明: 标签 可用旋转 是否允许镜像 标记点 方块替换规则 这让模板不只是一个静态文件,而是一个带有语义信息、能够参与规则判定与后续处理的内容单元。 当前版本适合什么 当前版本尤其适合: 建筑模板导出与整理 建筑模板的手动验证与投放 规则驱动的结构生成 业务模组低成本集成建筑内容 如果你的目标是做“建筑生成框架”,它已经能落地一条完整主链路;如果你的目标是做“通用地形改造系统”,那就不是它当前的核心定位。 推荐工作流 在游戏里搭出原型建筑 用导出界面导出 .bldg 与 .bmeta.json 先手动试摆,确认模板正确 补充标签、变体、替换规则等元数据 编写规则 XML,接入自动生成 必要时再扩展自定义条件、后处理器和方块变换器 这条路径足够顺,也符合“先验证资产,再接生成”的实际开发节奏。 立即了解 项目地址: Gitee 如果你希望自己的建筑不只是“被建出来”,而是能够“被反复生产、反复投放、反复复用”,构千形就是为这件事准备的。

在社区中打开完整帖子