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

制作兵种:远程单位

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

远程单位不是在land_units_tables里填一个伤害数字就结束。它至少要经过“单位 → 远程武器 → 投射物”这条链;爆炸、破片、弹丸外观和切换弹药会继续向下连接。

本篇以震旦玉勇弩手wh3_main_cth_inf_jade_warrior_crossbowmen_0作为普通远程步兵模板,只讲 RPFM 中的数据配置,不制作模型、动画、弹丸模型或特效资产。

远程攻击的数据链

land_units_tables.Primary Missile Weapon
    ↓
missile_weapons_tables.Default Projectile
    ↓
projectiles_tables
    ├─ Projectile Display → projectile_displays_tables
    ├─ Explosion Type → projectiles_explosions_tables
    │                    └─ Shrapnel → projectile_shrapnels_tables
    ├─ Scaling Damage → projectiles_scaling_damages_tables
    └─ Projectile Penetration → projectile_penetration_junctions_tables

基础弓弩只需要前三层;没有爆炸、破片、制导或穿透时,不要创建对应记录。

本篇常用表单

表单 作用
land_units_tables 保存远程武器 Key、弹药量、命中、装填和是否散兵等单位级数据。
missile_weapons_tables 注册远程武器,并指向默认投射物。
projectiles_tables 保存射程、弹速、伤害、散布、装填、弹丸数量和特殊效果引用。
missile_weapons_to_projectiles_tables 为同一远程武器添加可切换的额外弹药。
projectile_displays_tables 指定弹丸的可视模型和相关显示。
projectiles_explosions_tables 配置爆炸范围、伤害、推力、特效、音效和友军伤害。
projectile_shrapnels_tables 配置爆炸后产生的破片投射物。
projectiles_scaling_damages_tables 让伤害随目标生命比例缩放。
projectile_penetration_junctions_tables 配置弹丸穿透不同目标后的表现。

建立远程武器

原版玉勇弩手在land_units_tables中使用:

Primary Missile Weapon = wh3_cth_crossbow_bolt
Primary Ammo           = 22
Accuracy               = 10
Can Skirmish            = true
  1. missile_weapons_tables导入wh3_cth_crossbow_bolt
  2. Key改成自己的远程武器 Key。
  3. land_units_tables.Primary Missile Weapon改成新 Key。
  4. 根据定位设置Primary AmmoAccuracyCan Skirmish

连接远程单位和自己的 Missile Weapon

missile_weapons_tables.Default Projectile决定默认弹药;Use Secondary Ammo Pool只有确实使用land_units_tables.Secondary Ammo时才勾选,误勾可能让单位看似有主弹药却无法正常射击。

建立投射物

从模板远程武器的Default Projectile继续找到projectiles_tables,复制该行并改成自己的 Key,再让新远程武器指向它。

检查投射物的爆炸、弹道和射程字段

重点列可以分为四组:

类别 常用列
射程与弹道 Effective RangeMinimum RangeMuzzle VelocityGravityMax ElevationExpiry Range
命中与散布 Marksmanship BonusSpreadCalibration DistanceCalibration Area
伤害与目标 DamageAP DamageBonus V InfantryBonus V LargeCan Damage BuildingsCan Damage Vehicle
射击节奏 Base Reload TimeProjectile NumberBurst SizeBurst Shot DelayShots Per Volley

Projectile Number是同一时刻发出的弹丸数,Burst Size是一次射击中的连续发射,Shots Per Volley还会受武器和动画设计影响。数值能填进去,不代表现有射击动画能自然配合。

切换第二种弹药

需要像弩炮那样切换弹药时:

  1. missile_weapons_to_projectiles_tables添加远程武器与第二投射物的连接。
  2. 为第二投射物在projectiles_tables建立独立记录。
  3. 确认两种投射物使用的Shot Type符合切换需求。
  4. 为射击类型补齐对应本地化和图标。

为同一远程武器添加第二种投射物

普通弓、弩、火枪没有切换弹药时,不需要这张连接表。

爆炸、破片和穿透

  • 投射物会爆炸:在projectiles_tables.Explosion Type连接projectiles_explosions_tables
  • 爆炸会产生破片:在爆炸记录的Shrapnel连接projectile_shrapnels_tables,破片本身再指向另一条projectiles_tables记录。
  • 需要穿透:使用Projectile Penetrationprojectile_penetration_junctions_tables
  • 需要目标血量缩放:连接projectiles_scaling_damages_tables
  • 需要自定义弹丸外观:连接projectile_displays_tables,但显示资产本身仍需正确文件。

这些效果可以互相嵌套,错误也会成倍增加。第一次制作远程兵种时,先让普通投射物稳定命中并结算伤害,再逐项添加爆炸或破片。

游戏内检查

  1. 检查射程圈、弹药数量和面板伤害。
  2. 分别测试近距离、最大射程和不同高度目标。
  3. 观察弹道、散布、弹速和装填动作是否匹配。
  4. 测试对步兵、大型单位、建筑和载具的伤害。
  5. 有爆炸时同时测试友军伤害、推力和特效。
  6. 有第二弹药时反复切换,确认两种弹药都能耗弹和造成伤害。

RPFM 诊断无法证明发射挂点、动画事件、弹丸模型和特效在战场中正确;这些必须实战观察。