全面战争模组中文站全面战争模组中文站
搜索/

搜索教程

输入标题,直接打开已发布教程。

输入教程标题开始搜索。

教程目录

制作兵种:骑乘单位

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

骑兵并不是“步兵人数改少、速度改快”。一个骑乘单位至少包含陆战单位、坐骑、坐骑实体、骑手战斗配置和骑手挂点;骑手与坐骑还可能使用不同的模型、动画和实体数据。数据库中的Battle Personality是这套骑手战斗配置所使用的技术标识,不应直译成游戏术语。

本篇以震旦玉勇枪骑兵wh3_main_cth_cav_jade_lancers_0为模板,只处理 RPFM 数据。制作或修改模型、骨架和动画仍需 AE 等资产工具。

本例适合什么情况

玉勇枪骑兵适合演示“一名常规骑手挂接到一匹马”的结构。怪兽骑兵、飞行坐骑、英雄坐骑、多骑手单位、骑射单位、战车和火炮乘员可能使用不同挂点、多个battle_personalities_tables记录、独立武器或载具器械,不能直接照抄本例的坐骑和骑手配置。

自行查找时,先从目标原版单位的land_units_tables.Mount跳到mounts_tables,再追踪坐骑的Entity和Variant;同时用单位 Key 搜索land_units_to_battle_personalities_junctions_tables,查看骑手数量、Attach方式和每个挂点。对比同类坐骑单位,确认哪些记录来自坐骑,哪些来自骑手或单位主体。

从依赖项 → 游戏文件的原版记录取模板,不从Assembly Kit 文件复制、导入或建立制作引用。截图的Game-RO:是只读原版检查,修改在自己的 Pack 内进行。需要复制时,点击行号选中完整行,再复制到自己新建的同种、同版本表单;整份导入则先把自己的data__改成独立文件名,再删除无关记录。其他 Mod 也可能出现在依赖缓存中,使用跳转功能后仍要核对来源。

先按《制作兵种:基础单位》建立以玉勇枪骑兵为模板的新主单位、陆战单位及基础连接。本篇从这个已建立的新骑兵继续,不是把上一章步兵的所有字段原样保留、只加一匹马。本文示例前缀twcn_tutorial_可换成自己的前缀,但每条引用必须与对应的新 Key 完全一致。

骑乘单位的数据链

land_units_tables
    ├─ Mount → mounts_tables
    │           ├─ Entity → battle_entities_tables(坐骑)
    │           └─ Variant → variants_tables(坐骑外观)
    ├─ Man Entity → battle_entities_tables(骑手)
    └─ Key → land_units_to_battle_personalities_junctions_tables
                └─ Battle Personality → battle_personalities_tables(骑手)

当前《战锤 III》的玉勇枪骑兵模板使用land_units_to_battle_personalities_junctions_tables连接骑手,而不是旧教程中常见的land_units_officers_tables流程。其他单位仍应以实际原版记录为准。

本篇常用表单

表单 作用
land_units_tables 保存坐骑 Key、坐骑数量、骑手实体、单位动作和战斗数据。
mounts_tables 保存坐骑动作、实体、外观和语音。
battle_entities_tables 分别定义骑手和坐骑的速度、质量、尺寸、生命值与碰撞。
land_units_to_battle_personalities_junctions_tables 把骑手放到单位中,并指定挂点和连接方式。
battle_personalities_tables 保存骑手动作、外观、实体和可选武器配置。
battle_entity_stats_tables 骑手或乘员需要独立近战/远程武器时使用。
variants_tables 分别连接骑手和坐骑的模型变体。
culture_to_battle_animation_tables_tables 跨文化使用动作时,允许目标文化使用对应动作表。

配置陆战单位的坐骑

本例的原版玉勇枪骑兵使用:

Num Mounts = 60
Mount      = wh3_main_cth_mnt_horse_heavy

Num Mounts配置单位的坐骑数量基数,实际显示还受游戏的部队规模设置影响,不是所有画质设置下固定出现 60 匹。单纯把Num Men改成 60,却让Num Mounts保持 0,不会得到正确骑兵。

不同单位可能一头坐骑承载多人,或把乘员、牵引物和器械分别统计。遇到数量关系不同的模板时,应查看相似原版单位,而不是强行让所有数字相等。

玉勇枪骑兵的基础分类组合为land_units.category = war_beast、class = cav_shk,main_units.caste = melee_cavalry。war_beast在这里是原版骑乘结构使用的内部值,不表示要把骑兵当成没有骑手的野兽。初次制作保留这一组合及num_mounts = 60,再把需要独立修改的骑手、坐骑和武器逐项接回新记录。

建立 Mount 记录

要独立修改坐骑时,将原版mounts_tables中的wh3_main_cth_mnt_horse_heavy完整行复制到自己的表单,改成twcn_tutorial_cth_horse_heavy,再让新单位的land_units_tables.Mount引用这个新 Key。若坐骑动作、外观和实体全部不变,可以直接保留原版 Mount 引用,不必新增记录。主要列是:

列 作用
Animation 坐骑动作表。
Entity 指向坐骑自己的battle_entities_tables记录。
Variant 指向坐骑模型变体。
Audio Armour Type 坐骑护甲相关音效。
Voiceover 坐骑声音类型。

Mount 记录连接坐骑动作、实体和外观

本例Animation = hr1_warhorse,Entity = wh_main_cavalry_slow_blood,Variant = wh3_main_cth_mnt_horse_heavy。这三个值分别属于动作表、战斗实体、模型变体,不能因为都是英文 Key 就填到同一列。

速度通常来自坐骑实体,而不是骑手实体。要独立修改骑兵速度和坐骑质量,应复制mounts_tables.Entity指向的battle_entities_tables记录,再让新 Mount 指向新实体。

例如复制这条坐骑实体,改名twcn_tutorial_cth_horse_entity并修改所需速度,再将新 Mount 的Entity改成这个值。最后确认“新单位 → 新 Mount → 新实体”三处连接已经接通。只创建新实体却没有接回去,游戏仍会使用原版实体;直接覆盖原版实体,则会影响其他共享它的坐骑。

连接骑手战斗配置

玉勇枪骑兵通过land_units_to_battle_personalities_junctions_tables连接:

Battle Personality       = wh3_main_cth_cav_jade_lancer_rider
Attach                   = autonomous_rider
Riders Attachment Point = ap_riderposition_0

复制该行,把Land Unit改为新骑兵 Key。需要独立骑手外观或动作时,再复制battle_personalities_tables记录并修改连接。

设置骑乘单位的挂接方式和骑手位置

这里的Land Unit指向陆战单位表的 Key,不是显示名称,也不要想当然填主单位 Key。图中虽然只有一行连接,却不表示整队只有一名骑手;它描述的是此类骑乘实体使用哪个骑手及挂点,队伍数量还由单位数量字段决定。

挂点必须存在于坐骑或载具资产中。RPFM 能保存任意字符串,但不存在的挂点会导致骑手错位、漂浮或不显示。

当前原版这张连接表实际使用两种attach:autonomous_rider用于本例这种自主骑手或相应乘员,officer用于军官连接路线。它不是“是否是英雄”的开关。玉勇枪骑兵这一行还使用engine_articulation_index = -1、jettison_rider = true;复用相同马匹和骑手结构时保留它们,不把-1改成行号。每个挂点单独一行,ap_riderposition_0中末尾的0属于资产挂点名称,不能随意换成自己的数字 ID。

Battle Personality 的关键列

列 作用
Man Animations Table 骑手动作表。
Variant 骑手模型变体。
Battle Entity 骑手自身的实体数据。
Battle Entity Stats 骑手需要独立武器时的统计记录。
Autonomous Rider Hero 特定自主骑手英雄模板使用;普通骑兵不要随意勾选。
Autonomous Rider Can Shoot In Melee 骑手是否能在近战中射击。

玉勇枪骑兵的骑手定义连接骑乘动作和骑手外观

图中Man Animations Table = hu1e_hr1_warhorse_lance_and_shield、Variant = wh3_main_cth_cav_jade_lancers。改变骑手外观时,复制这条定义并给出新 Key,修改Variant,再让自己单位的骑手连接引用新定义。不要只更换land_units_tables里某个外观字段,就忽略真正显示在马背上的这条骑手定义。

同一骑手定义中的实体与空白独立武器配置

本例Battle Entity = wh_main_cavalry_rider_standard_blood、Battle Entity Stats为空;这种普通近战骑手沿用陆战单位的主要武器,不必为了“把表填全”补上独立武器记录。骑射手、战车射手或其他需要独立武器的乘员,才按其原版结构通过battle_entity_stats_tables连接Primary Melee Weapon和Primary Missile Weapon,不要把本例的空值套到所有骑手上。

选择修改层时按目标操作:换马的外观改mounts_tables.variant;换骑手外观改battle_personalities_tables.variant;改马的移动和质量追mounts_tables.entity;改这名普通骑手的近战武器追陆战表的primary_melee_weapon = wh3_main_cth_jade_lancer_lance。同为“换模型”或“换武器”,落点也取决于是哪一个部件;未改的模型和动作 Key 可以继续复用。

跨文化动作

把其他文化的骑手或坐骑动作直接填过来,可能出现不播放动作的问题。需要跨文化使用时,在culture_to_battle_animation_tables_tables中参考原版记录,让目标文化能使用该动作表。

是否需要这张表,应通过搜索目标动作表 Key 和同类跨文化原版单位判断。相同文化、相同动作体系下通常不必额外创建许可记录。

这一步只负责动作表许可,不会修复骨架不匹配、挂点错误或缺失动画。资产兼容仍需在 AE 和游戏中检查。

游戏内检查

  1. 在相同部队规模设置下,检查骑手与坐骑数量是否符合所选结构。本例是一人一马;其他结构按对应模板核对,不强求所有数量字段相等。
  2. 骑手是否坐在正确挂点,没有漂浮、陷入或方向错误。
  3. 步行、奔跑、冲锋、转身、受击和死亡动作是否完整。
  4. 战场速度、质量和碰撞是否来自预期的坐骑实体。
  5. 骑射单位能否瞄准、射击、耗弹,并在近战时遵守设置。

RPFM 中引用全部有效,仍不能证明模型骨架和动作完全匹配;骑乘单位必须在战场中动态检查。

图片查看
100%

滚轮或按钮缩放 · 拖动或滑动查看 · Esc 关闭