全面战争模组中文站全面战争模组中文站
搜索/
教程目录

制作兵种:基础单位

创建时间:2026年9月3日最后更新:2026年9月3日

这次以原版震旦玉勇为模板,制作“精锐玉勇”。完成后,它会作为一个独立单位出现在震旦自定义战斗中,但暂时复用玉勇的实体、武器、模型、兵牌和说明文字。

开始前应已完成制作第一个模组,知道如何新建 Pack、从依赖项导入原版表和删除无关记录。操作时关闭游戏,并暂时停用其他会修改玉勇的 Mod。

这个系列怎么分

一张完整兵牌背后会连接许多表。为了不把所有内容挤进一篇文章,本系列分为七篇:

  1. 制作兵种:基础单位:建立新单位的基础骨架,并加入自定义战斗。
  2. 制作兵种:战斗数据:处理battle_entities_tables、武器、护甲、盾牌、属性和能力。
  3. 制作兵种:兵牌与说明:添加独立兵牌、名称、长短说明、标签和派系配色。
  4. 制作兵种:战役接入:处理招募建筑、势力权限、AI、盟友招募和 Unit Set。
  5. 制作兵种:远程单位:讲解远程武器和投射物链。
  6. 制作兵种:骑乘单位:讲解坐骑、骑手和各自的实体数据。
  7. 制作兵种:战车与火炮:讲解战场引擎、牵引物、乘员和铰接载具。

第一篇先完成最小但真实的新单位。后续文章都在同一个twcn_tutorial_unit.pack上继续制作。

本篇需要哪些表单

表单或文件 作用 本篇怎么处理
land_units_tables 战场中的陆战单位记录,保存动作、实体、武器、护甲和基础战斗数值等。 复制玉勇并建立新的陆战单位 Key。
main_units_tables 主单位记录,连接陆战单位,并保存人数、费用、等级和战力估值等。 建立新的主单位 Key,并指向新的陆战单位。
unit_variants_tables 连接单位、模型变体、兵牌和用于查找名称的 Key。 使用新单位 Key,暂时复用玉勇模型和兵牌。
units_custom_battle_permissions_tables 决定单位是否出现在某个阵营的自定义战斗列表中。 把新兵种加入震旦自定义战斗。
Loc 文件 保存游戏界面实际显示的文字。 添加“精锐玉勇”这个中文名称。

这五部分只能建立单位骨架和自定义战斗入口。它们不能代替battle_entities_tables,也不能让单位自动进入战役招募;这些内容会在后面的对应教程中完成。

确定模板和 Key

模板单位:

wh3_main_cth_inf_jade_warriors_0

新单位统一使用:

twcn_tutorial_cth_inf_elite_jade_warriors

Key 是各张表互相连接时使用的唯一标识,不是显示给玩家看的名称。正式制作时应把twcn_tutorial换成自己的作者前缀或 Mod 缩写,降低与其他 Mod 重名的风险。

新建 Pack 并导入原版记录

  1. 打开PackFile → 新建 PackFile,保存为twcn_tutorial_unit.pack
  2. 确认 PackFile 类型是Mod
  3. 依赖项中搜索land_units_tables,展开原版表并打开data__
  4. 在表内搜索wh3_main_cth_inf_jade_warriors_0,选中这一整行。
  5. 右键所选行,使用导入所选记录的功能把它加入当前 Pack。
  6. main_units_tablesunit_variants_tablesunits_custom_battle_permissions_tables重复操作。

也可以先把整张原版data__导入 Pack,再把它重命名为自己的表文件名,然后只保留需要的玉勇记录。两种方法结果相同;从依赖项直接导入所选记录更省删除步骤。

如果导入了整张原版表,必须立即把表内的data__重命名,例如改成twcn_tutorial_unit。保留db/表名/data__会覆盖原版同名表,而不是只追加你的记录,可能导致大量原版数据消失和严重兼容问题。不要改表文件夹名称,只改里面的表文件名。

玉勇在units_custom_battle_permissions_tables中只有 1 条本篇需要的震旦记录。其他表也只保留与模板单位完全对应的记录,不要把搜索结果附近的无关行一起导入。

建立陆战单位

打开land_units_tables中的自制表,修改以下列,其他列暂时保持模板原值:

原版玉勇 精锐玉勇 作用
Key wh3_main_cth_inf_jade_warriors_0 twcn_tutorial_cth_inf_elite_jade_warriors 新陆战单位的唯一标识。
Charge Bonus 12 18 冲锋接战后的短时加成。
Melee Attack 24 32 基础近战攻击。
Melee Defence 34 42 基础近战防御。
Morale 64 72 基础领导力。
Bonus Hit Points 61 70 加在单兵实体生命值上的额外生命值。

为新陆战单位设置 Key 和基础战斗数值

此时Man Entity仍是wh3_main_cth_infantry_heavy_blood_dismembersPrimary Melee Weapon仍是wh3_main_cth_jade_warrior_sword。因此这两个引用继续与原版单位共用,不能通过修改原版记录来只强化精锐玉勇。下一篇会为它们建立独立记录。

建立主单位

打开main_units_tables中的自制表,修改:

填写内容 作用
Unit twcn_tutorial_cth_inf_elite_jade_warriors 主单位自己的唯一 Key。
Land Unit twcn_tutorial_cth_inf_elite_jade_warriors 指向刚建立的land_units_tables记录。
Num Men 120 单位规模为“超大”时的基础人数。
Multiplayer Cost 750 自定义战斗费用。
Recruitment Cost 800 战役招募费用,后续接入战役后生效。
Upkeep Cost 200 战役维持费。
Tier 3 单位等级分类,不等于招募建筑等级。
Melee CP 800 游戏和 AI 使用的近战战力估值之一。

设置主单位的 Key、人数、费用和等级

UnitLand Unit在本例中填写相同内容,但作用不同。只改Unit而漏改Land Unit,新主单位仍会指向原版玉勇的陆战记录。

连接模型和兵牌

打开unit_variants_tables中的自制表,修改:

填写内容
Name twcn_tutorial_cth_inf_elite_jade_warriors
Faction 保持空白
Unit twcn_tutorial_cth_inf_elite_jade_warriors
Variant 暂时保留wh3_main_cth_inf_jade_warriors_0
Unit Card 暂时保留wh3_main_cth_inf_jade_warriors_0

连接新单位、原版模型变体和临时兵牌

Variant指向variants_tables中的模型变体,Unit Card填写兵牌图片的文件名,不带路径和.png扩展名。本篇继续复用原版值;自定义兵牌和独立说明会在制作兵种:兵牌与说明中完成。

加入震旦自定义战斗

打开units_custom_battle_permissions_tables中的自制表,修改:

填写内容
Unit twcn_tutorial_cth_inf_elite_jade_warriors
Faction wh3_main_cth_cathay_mp
General Unit 不勾选
Siege Unit Attacker 勾选
Siege Unit Defender 勾选
Campaign Exclusive 不勾选

把新兵种加入震旦自定义战斗

这里的Faction是自定义战斗阵营记录,不是震旦某个具体战役派系。普通部队不要勾选General Unit

添加中文名称

  1. 右键 Pack 根节点,点击创建 → 创建 Loc 文件
  2. 文件名填写twcn_tutorial_unit
  3. 添加下面这一行:
Key Text Tooltip
land_units_onscreen_name_twcn_tutorial_cth_inf_elite_jade_warriors 精锐玉勇 不勾选

Loc Key 的固定前缀是land_units_onscreen_name_,后面接unit_variants_tables中的Name。任意字符不一致,游戏都会找不到这条文本。

保存、诊断和测试

  1. Ctrl+S保存 Pack。
  2. 打开视图 → 切换诊断窗口,重新检查整个 Pack。
  3. 处理所有与本次新记录有关的 Error;不要只因为 Warning 可以隐藏就盲目删除记录。
  4. 在启动器中只启用这个测试 Mod,进入震旦自定义战斗。
  5. 确认“精锐玉勇”出现,费用为750,模型、兵牌和战斗动作能正常加载。

基础单位 Pack 的诊断结果

RPFM 诊断只能发现一部分结构和引用问题。能在自定义战斗列表中看到单位,也不等于已经完成战役招募、AI 使用、科技加成和盟友招募;这些由后续教程补齐。