SpellVisualKitModelAttach.dbc
模型附加效果定义表。将 SpellVisualKit.dbc 与 SpellVisualEffectName.dbc 关联,并确定模型在角色身上的具体显示位置(挂载点)。根据 CHM 中文详解,此表共10列,第2-7列为常用列。
文件概述
SpellVisualKitModelAttach.dbc 是法术视觉模型挂载系统的核心表。根据 CHM 中文详解:"这个DBC 的作用是把SpellVisualKit.dbc跟SpellVisualEffectName.dbc 关联起来,并且确定模型的显示位置。"
工作原理:该表定义了每个3D可视化效果模型在角色身上绑定的具体位置(挂载点Attachment)、位置偏移(XYZ三轴),以及可能的动态效果参数(如旋转、翻飞等)。同一个 SpellVisualKit 可以与多个不同的 SpellVisualEffectName 绑定——例如一行ID=1000的 SpellVisualKit 可以在1000行不同的 ModelAttach 中引用完全不同的1000个 SpellVisualEffectName。
模型的位置通过M2模型的Attachment系统定义,支持从头顶到脚底的共60+个挂载点,覆盖了角色的所有身体部位。
列结构
| 列号 | 字段名 | 类型 | 描述 |
|---|---|---|---|
| 1 | ID | int | 编号(CHM:第1列序号,无意义但不可重复)。唯一标识符 |
| 2 | SpellVisualKitID | int | 视觉套件ID(CHM:SpellVisualKit.dbc的ID)。关联到 SpellVisualKit.dbc |
| 3 | SpellVisualEffectNameID | int | 效果名称ID(CHM:SpellVisualEffectName.dbc的ID)。关联到具体模型 |
| 4 | Attachment | int | 挂载位置(CHM:模型的显示位置)。M2挂载点ID,详见Attachment速查表 |
| 5 | OffsetX | float | X轴偏移(CHM:X轴调节,模型本身的前后方向)。正值向前、负值向后 |
| 6 | OffsetY | float | Y轴偏移(CHM:Y轴调节,左右方向)。正值向右、负值向左 |
| 7 | OffsetZ | float | Z轴偏移(CHM:Z轴调节,上下方向)。正值向上、负值向下 |
| 8 | AnimParameter1 | float | 动画参数1(CHM:可能定义动态效果如旋转、翻飞弧度)。动态效果的旋转角度等 |
| 9 | AnimParameter2 | float | 动画参数2(CHM:同上,待验证)。动态效果的缩放/频率等参数 |
| 10 | AnimParameter3 | float | 动画参数3(CHM:同上,待验证)。动态效果的偏移/旋转速度等参数 |
挂载点(Attachment)速查表
| Attachment ID | 位置描述 | Attachment ID | 位置描述 |
|---|---|---|---|
| 0 | 盾牌/坐骑/ItemVisual0 | 1 | 右手 |
| 2 | 左手 | 3 | 右肘/ItemVisual3 |
| 4 | 左肘/ItemVisual4 | 5 | 右肩 |
| 6 | 左肩 | 7 | 右腿 |
| 8 | 左腿 | 9 | 右臀 |
| 10 | 左臀 | 11 | 左侧驾驶 |
| 12 | 背部 | 13 | 右翼 |
| 14 | 左翼 | 15 | 胸前 |
| 16 | 胸后 | 17 | 嘴部 |
| 18 | 玩家名字 | 19 | 基本位置 |
| 20 | 头部 | 21 | 左手施法 |
| 22 | 右手施法 | 23 | 服装1 |
| 24 | 服装2 | 25 | 服装3 |
| 26 | 主手 | 27 | 副手 |
| 28 | 护盾 | 29 | 骑马玩家名字 |
| 30 | 左手双武器 | 31 | 右手双武器 |
| 32 | 左腰间武器 | 33 | 右腰间武器 |
| 36 | 子弹 | 37 | Spell Hand Omni |
| 38 | Spell Hand Directed | 47 | 左脚 |
| 48 | 右脚 | 50 | 侧面 |
| 51 | 右肩改变 | 52 | 左肩改变 |
| 53 | 皮带扣(Mists+) | 54 | 弩 |
| 55 | 头顶(Legion+) | 57 | 背包(Battle+) |
| 60 | 未知 |
参考来源:WowDev Wiki - M2 Attachments。常用挂载点:1(右手)、2(左手)、5(右肩)、6(左肩)、12(背部)、15(胸前)、20(头部)。
重要字段详解
CHM 详解指出:"模型的显示位置,具体参照 WKI 详解"。这是制作自定义视觉效果时最重要的列。不同的挂载点决定了模型出现在角色身上的哪个位置。例如,挂载点12(背部)适合制作翅膀或披风效果,15(胸前)适合制作胸甲特效,1(右手)适合制作武器附魔发光效果。
CHM 详解指出:"X 为模型本身的前后方向,Y 为左右方向,Z 是上下方向"。这三个列允许你对挂载在指定位置的模型进行微调,实现精确的位置控制。正值分别表示向前、向右、向上偏移。根据不同的模型需求来调整合适的偏移值。
CHM 说明这三列"不怎么清楚,应该是用来定义动态效果的,例如旋转、翻飞的弧度类似这种"。推测它们控制模型的旋转角度、缩放变化、动态摆动的幅度等参数,用于为静态模型添加动态的视觉表现。
使用技巧
根据 CHM 详解补充:"同一个 SpellVisualKit 可以与若干 SpellVisualEffectName 绑定。比如我新建100行,第2列为 SpellVisualKit.id=1000 的数据,第三列可以写1000个完全不同的 SpellVisualEffectName.ID。" 这意味着一个视觉套件可以同时显示成百上千个不同的视觉效果模型。
- SpellVisualKit.dbc(第2列 SpellVisualKitID)——所属的视觉套件
- SpellVisualEffectName.dbc(第3列 SpellVisualEffectNameID)——引用的视觉模型
- SpellVisual.dbc(通过 SpellVisualKit 间接关联)——与具体法术关联