VehicleSeat.dbc
交通工具座位定义文件。定义每个座位的权限、附件偏移、进入/乘骑/退出动画、乘客朝向和UI皮肤等属性
文件概述
VehicleSeat.dbc 定义了载具每个座位的详细属性。包括座位在载具模型上的附着点偏移、进入/乘坐/离开的动画序列、乘客的俯仰和翻滚朝向、以及UI皮肤和声音等设置。每个载具的每个座位对应一条独立记录。
列结构
| 列号 | 字段 | 类型 | 详细说明 |
|---|---|---|---|
| 1 | 编号 | 整数 | 座位唯一标识符 |
| 2 | 标识 | 整数 | 座位行为标志位(见详解) |
| 3 | 附件 | 整数 | 座位的附件/附着点ID(模型上的挂载位置) |
| 4 | 附件 X 坐标偏移 | 浮点数 | 座位的 X 轴偏移量 |
| 5 | 附件 Y 坐标偏移 | 浮点数 | 座位的 Y 轴偏移量 |
| 6 | 附件 Z 坐标偏移 | 浮点数 | 座位的 Z 轴偏移量 |
| 7 | 进入预延迟 | 浮点数 | 进入载具前的预延迟时间 |
| 8 | 进入速度 | 浮点数 | 进入载具的动画速度 |
| 9 | 进入重力 | 浮点数 | 进入时的重力影响参数 |
| 10 | 进入最小持续时间 | 浮点数 | 进入动画的最短持续时间 |
| 11 | 进入最大持续时间 | 浮点数 | 进入动画的最长持续时间 |
| 12 | 进入最小弧度高度 | 浮点数 | 进入时弧形跳跃的最小高度 |
| 13 | 进入最大弧度高度 | 浮点数 | 进入时弧形跳跃的最大高度 |
| 14 | 进入动画开始 | 整数 | 进入动画的起始帧编号 |
| 15 | 进入动画循环 | 整数 | 进入动画的循环动画 |
| 16 | 乘骑动画开始 | 整数 | 乘坐在载具上的起始动画 |
| 17 | 乘骑动画循环 | 整数 | 乘坐在载具上的循环动画 |
| 18 | 骑上动画开始 | 整数 | 骑上载具的起始动画 |
| 19 | 骑上动画循环 | 整数 | 骑上载具的循环动画 |
| 20 | 退出预延迟 | 浮点数 | 退出载具前的预延迟时间 |
| 21 | 退出速度 | 浮点数 | 退出载具的动画速度 |
| 22 | 退出重力 | 浮点数 | 退出时的重力影响参数 |
| 23 | 退出最小持续时间 | 浮点数 | 退出动画的最短持续时间 |
| 24 | 退出最大持续时间 | 浮点数 | 退出动画的最长持续时间 |
| 25 | 退出最小弧度高度 | 浮点数 | 退出时弧形跳跃的最小高度 |
| 26 | 退出最大弧度高度 | 浮点数 | 退出时弧形跳跃的最大高度 |
| 27 | 退出动画开始 | 整数 | 退出动画的起始帧编号 |
| 28 | 退出动画循环 | 整数 | 退出动画的循环动画 |
| 29 | 退出动画结束 | 整数 | 退出动画的结束帧编号 |
| 30 | 乘客 | 整数 | 乘客的附加数据或类型 |
| 31 | 乘客俯冲 | 浮点数 | 乘客在座位上的俯仰角(Pitch) |
| 32 | 乘客翻滚 | 浮点数 | 乘客在座位上的翻滚角(Roll) |
| 33 | 乘客附件编号 | 整数 | 乘客在载具模型上的附件挂载点编号 |
| 34 | 交通工具进入动画 | 整数 | 载具自身的进入动画 |
| 35 | 交通工具结束动画 | 整数 | 载具自身的退出/结束动画 |
| 36 | 交通工具骑乘动画循环 | 整数 | 载具自身的乘坐循环动画 |
| 37 | 交通工具进入骨骼动画 | 整数 | 载具进入时的骨骼动画 |
| 38 | 交通工具结束骨骼动画 | 整数 | 载具退出时的骨骼动画 |
| 39 | 交通工具骑乘骨骼动画循环 | 整数 | 载具乘坐时的骨骼循环动画 |
| 40 | 交通工具进入动画延迟 | 浮点数 | 载具进入动画的延迟时间 |
| 41 | 交通工具结束动画延迟 | 浮点数 | 载具退出动画的延迟时间 |
| 42 | 交通工具属性显示 | 整数 | UI上显示的载具技能/属性 |
| 43 | 进入用户界面声音编号 | 整数 | 进入载具时播放的UI音效 |
| 44 | 结束用户界面声音编号 | 整数 | 退出载具时播放的UI音效 |
| 45 | 用户界面皮肤 | 字符串 | 载具UI的皮肤文件路径 |
| 46 | 标识(额外) | 整数 | 额外的座位行为标志 |
| 47~58 | (预留) | 整数 | (用途待确认) |
关键字段详解
标识(列2)—— 座位行为标志
| 标志值 | 说明 |
|---|---|
| 0x0001 | 可使用 —— 玩家可主动进入此座位 |
| 0x0004 | 可施法 —— 乘客可以施放法术 |
| 0x0008 | 可攻击 —— 乘客可以攻击 |
| 0x0020 | 有进入动画 |
| 0x0200 | 强制允许转向 |
| 0x0400 | 强制允许俯仰 |
| 0x4000 | 允许座位切换 |
| 0x01000000 | 保持宠物 —— 乘员的宠物保持出现 |
| 0x02000000 | 无控制 —— 乘客无法控制载具(如乘客座位) |
| 0x20000000 | 可施法最大范围 |
| 0x40000000 | 目标光环显示 |
进入/退出动画系统
座位的进入和退出动画系统非常详细,包括:
- 预延迟:动画开始前的等待时间
- 速度:动画播放速度
- 重力:影响跳跃/弧形移动的重力参数
- 弧度高度:控制乘客进入/退出时的弧线跳跃高度
- 动画序列:进入的起始/循环动画,乘骑的起始/循环动画,退出的起始/循环/结束动画
乘客朝向
乘客在座位上的姿态由以下参数控制:
- 乘客俯冲(Pitch):乘客的俯仰角度
- 乘客翻滚(Roll):乘客的侧翻滚角度
- 乘客附件编号:指定乘客挂载在载具模型的哪个骨骼节点上
座椅权限模式
- 驾驶员:标识不设置无控制标志,可控制载具移动和转向
- 乘客:标识设置无控制(0x02000000),无法控制载具
- 炮手:乘客中拥有独立技能栏的特殊座位
UI与声音
- 进入/结束UI声音编号:上下载具时播放的界面音效
- UI皮肤:载具操作界面的皮肤文件
- 载具属性显示:座位可使用的技能/动作按钮
常见示例
- 奥杜尔攻城车:座位0=驾驶员(可移动+投石),座位1=炮手(操控火炮)
- 黑曜石圣殿飞龙:座位0=驾驶员(控制飞行),座位1=乘客(可施放龙息技能)
- 冬拥湖攻城车:座位0=驾驶员+主炮,座位1=副炮手