📊 表结构

字段名 数据类型 默认值 说明
CreatureID INT UNSIGNED 生物模板ID (主键1)
Idx SMALLINT UNSIGNED 0 模型索引 (主键2)
CreatureDisplayID INT UNSIGNED 生物显示模型ID
DisplayScale FLOAT 1 显示缩放比例
Probability FLOAT 0 出现概率
VerifiedBuild SMALLINT NULL 验证版本

🔑 核心字段详解

🆔 CreatureID - 生物模板ID

详细说明:对应creature_template.entry,指定使用此模型的生物。 取值范围:对应creature_template.entry
  • 复合主键的一部分
  • 同一生物可有多条模型记录
  • 支持多模型随机显示

📊 Idx - 模型索引

详细说明:同一生物的不同模型编号索引。 取值范围:0 - 3
  • 0 - 第一个模型
  • 1 - 第二个模型
  • 2 - 第三个模型
  • 3 - 第四个模型
  • 最多支持4个模型

🎨 CreatureDisplayID - 生物显示模型ID

详细说明:生物的3D显示模型ID,对应CreatureDisplayInfo.dbc。 取值范围:对应DBC文件
  • 决定生物的外观表现
  • 包含模型文件和贴图信息
  • 不同DisplayID显示不同造型
  • 可从DBC或wowhead查询

📏 DisplayScale - 显示缩放比例

详细说明:模型的缩放比例,修改模型大小。 取值范围:0.1 - 10.0+
  • 1.0 - 默认大小(不缩放)
  • 0.5 - 缩小一半
  • 2.0 - 放大两倍
  • 与creature_template.scale叠加
  • 最终大小 = 模型基础大小 × DisplayScale × creature_template.scale

🎲 Probability - 出现概率

详细说明:该模型被选中的概率。 取值范围:0.0 - 1.0
  • 1.0 - 100%显示此模型(单一模型)
  • 0.5 - 50%概率显示
  • 同一CreatureID的所有模型概率之和应为1.0
  • 核心会在启动时自动校正概率总和
  • 多模型时随机选择显示

✔️ VerifiedBuild - 验证版本

详细说明:用于确定模板是否已从WDB文件验证。
  • 0 - 尚未解析
  • 正数 - 已用该客户端版本的WDB解析
  • -1 - 占位符,等待正确数据
  • 用于数据验证和版本追踪

💡 实际案例

单一模型 为生物分配单一模型

CreatureID=12345, Idx=0, Probability=1.0(100%显示)

INSERT INTO creature_template_model VALUES( 12345, 0, 1000, 1.0, 1.0, NULL );

多模型 为生物分配两个随机模型

CreatureID=12346, Idx=0/1, 各50%概率

-- 第一个模型(50%概率) INSERT INTO creature_template_model VALUES( 12346, 0, 1001, 1.0, 0.5, NULL ); -- 第二个模型(50%概率) INSERT INTO creature_template_model VALUES( 12346, 1, 1002, 1.0, 0.5, NULL );

缩放 创建缩放后的模型

CreatureID=12347, DisplayScale=2.0(放大两倍)

INSERT INTO creature_template_model VALUES( 12347, 0, 1003, 2.0, 1.0, NULL );

四模型 为生物分配四个随机模型

CreatureID=12348, Idx=0/1/2/3, 各25%概率

-- 模型0(25%) INSERT INTO creature_template_model VALUES(12348, 0, 1004, 1.0, 0.25, NULL); -- 模型1(25%) INSERT INTO creature_template_model VALUES(12348, 1, 1005, 1.0, 0.25, NULL); -- 模型2(25%) INSERT INTO creature_template_model VALUES(12348, 2, 1006, 1.0, 0.25, NULL); -- 模型3(25%) INSERT INTO creature_template_model VALUES(12348, 3, 1007, 1.0, 0.25, NULL);

查询 查询生物使用的所有模型

查询CreatureID=12345的所有模型配置

SELECT ctm.CreatureID, ctm.Idx, ctm.CreatureDisplayID, ctm.DisplayScale, ctm.Probability, ct.name FROM creature_template_model ctm JOIN creature_template ct ON ctm.CreatureID = ct.entry WHERE ctm.CreatureID = 12345 ORDER BY ctm.Idx;

⚡ 快速参考

模型索引

0第一个模型
1第二个模型
2第三个模型
3第四个模型

缩放比例

1.0默认大小
0.5缩小一半
2.0放大两倍
与scale叠加最终大小

概率设置

1.0单一模型
0.550%概率
0.2525%概率
总和=1.0必须条件

模型数量

最多4个Idx=0-3
随机显示按概率
单一模型Probability=1
多模型概率分配

🔗 相关表格

❓ 常见问题

Q1: 如何获取CreatureDisplayID?
从CreatureDisplayInfo.dbc文件或wowhead等网站查询模型ID。
Q2: 概率总和不为1会怎样?
核心会在启动时自动校正,确保所有模型概率之和为1.0。
Q3: DisplayScale和creature_template.scale的关系?
两者叠加计算最终大小:模型基础大小 × DisplayScale × creature_template.scale。
Q4: 一个生物最多可以有多少个模型?
最多4个模型(Idx=0-3),每次刷新时按概率随机选择一个显示。