文件概述

CreatureModelData.dbc 定义了生物3D模型的文件路径和物理属性。每个记录指向客户端MPQ中的一个 .m2 模型文件,并定义模型的实际尺寸、碰撞体积、脚印纹理、弹道碰撞等属性。是通过 CreatureDisplayInfo.dbc 引用模型的核心桥梁。

列结构

列号字段类型详细说明
1编号整数模型数据唯一标识符
2标志位整数模型行为标志
3模型路径字符串.m2 模型在MPQ中的文件路径,如 "Creature\Bear\Bear.m2"
4尺寸类别整数模型尺寸等级分类
5模型基础缩放浮点数模型的基准缩放值
6血液效果编号整数受伤/死亡时的血液粒子效果
7脚印纹理编号整数行走时地面留下的脚印纹理
8脚印长度浮点数脚印贴图的长度尺寸
9脚印宽度浮点数脚印贴图的宽度尺寸
10脚印粒子缩放浮点数脚步粒子特效的缩放比例
11声音材质编号整数脚步声对应的物理材质(如草地、石板、雪地等)
12脚步声震屏浮点数大型生物行走时的屏幕震动幅度
13死亡震屏浮点数大型生物倒地时的屏幕震动幅度
14声音编号整数关联的生物声音数据
15碰撞宽度浮点数生物模型的碰撞半径(水平方向)
16碰撞高度浮点数生物模型的碰撞高度(垂直方向)
17骑乘高度浮点数作为坐骑时,骑乘者的渲染高度偏移
18几何包围盒浮点数[6]6个坐标值定义的几何包围盒
19世界特效缩放浮点数世界环境特效在模型上的缩放
20附着特效缩放浮点数附着在模型上的粒子特效缩放
21弹道碰撞半径浮点数远程弹道打到该模型时的碰撞检测半径
22弹道碰撞推力浮点数弹道击中的推动力度
23弹道碰撞提升浮点数弹道击中时的垂直提升量

关键字段详解

模型路径(列3)

指向MPQ中 .m2 模型文件的相对路径。不同生物可共享同一模型文件,通过 CreatureDisplayInfo 使用不同纹理和缩放参数来区分外观。路径示例:"Creature\Bear\Bear.m2"。

碰撞体积(列15、16)

定义生物在游戏世界中的物理碰撞范围:

  • 碰撞宽度:水平碰撞半径。小型生物约0.2,Boss可达5米以上
  • 碰撞高度:垂直碰撞范围
脚印与声音材质(列7~11)

控制生物行走时的地面效果:

  • 脚印纹理:根据材质显示不同脚印(泥土、雪地、石板)
  • 声音材质:不同地面产生不同脚步声
震屏效果(列12、13)

大型生物(如Boss、巨人)行走或倒地时造成屏幕震动效果,增强游戏沉浸感。

使用示例

-- 查询特定模型的碰撞体积
SELECT 编号, 模型路径, 碰撞宽度, 碰撞高度 FROM CreatureModelData WHERE 编号 = 4449;

-- 查找大型碰撞体积的模型
SELECT 编号, 模型路径, 碰撞宽度 FROM CreatureModelData WHERE 碰撞宽度 > 5.0 ORDER BY 碰撞宽度 DESC;