Модмейкинг:
Раздел 1
У каждого моба в базе сервера есть свой дисплей-ид (Визуал), этот айдишник указывает клиенту от сервера какой внешний вид необходимо отобразить у нпс, на клиентской стороне эти данные обрабатываются и применяют к мобу визуал указанный в клиентской базе данных CreatureDisplayInfo.dbc.
Ниже указана структура столбцов этой таблицы:
Спойлер
1 - Энтри (Это и есть дисплей-ид).
2 - ModelID (Ссылка на CreatureModelData.dbc, таблицу в которой перечислены ссылки на модели клиента, их параметры - к примеру размер).
3 - SoundGroupID (Ссылка на группу звуков моба CreatureSoundData.dbc, в котором перечислены звуки издаваемые нпс при различных действиях, к примеру при аггро.).
4 - Ссылка на ExtraDisplay (Ссылается на CreatureModelData.dbc, применима только к моделям рас).
5 - Размер модели (Стандарт 1,0)
6 - Прозрачность модели (По шкале в 255 единиц, 0 - невидима, 255 - полностью видима).
7,8,9 - Скин-текстура модели (Применим в случае, если указана модель не относящаяся к расам).
10 - Название текстуры портрета НПС (Только текстуры из директории Interface\Icons).
11 - Уровень крови (Информации пока мало, будет дополняться).
12 - Возможно вид крови (Информации опять таки мало).
13 - Ссылка на звуки НПС
14 - Партиклы модели (Это те-же визуальные эффекты по типу вспышек, всполохов пламени и т.п.).
15 - Дополнение к геосету модели (Связана со .skin файлом модели).
16 - Ссылка на группу эффектов (ObjectEffectPackage.dbc, указаны в основном вехиклы и тому подобное).
В описании CreatureDisplayInfo.dbc был упомянут Model ID,
CreatureModelData.dbc выполняет функцию проводника моделей существ от директории архивов Creature до CreatureDisplayInfo.dbc, так же в этой таблице клиентской базы перечислены различные параметры модели, к примеру размер, тип следов модели, флаги модели, информация о коллизии, и т.д.
Структура CreatureModelData.dbc:
Спойлер
1 -Энтри (ИД Модели).
2 - Флаги ModelID.
3 - Путь к файлу модели (Оканчивается не M2 а MDX).
4 - Дополнительная модель (Пока мало информации).
5 - Технический размер. (Не равен 1 только у TaurenFemale).
7 - Уровень крови.
8 - Тип следов оставляемых моделью.(Ссылается на FootprintTextures.dbc).
9 - Длинна следов
10 - Ширина следов
11 - Размер всего следа
13 - Возможно размер "землетрясений" при ходьбе к примеру великанов.
15 - Информация о звуках существа (Ссылка на CreatureSoundData.dbc).
16 - Ширина границ коллизии (Столкновения объекта с другим объектом).
17 - Длинна границ коллизии (Столкновения объекта с другим объектом).[/spoiler]
В описании структуры CreatureModelData.dbc были указаны не все столбцы, так-как на данный момент информации недостаточно.
В этой статье будет описано создание Визуала Creature базируемого на модели расы, по этому в первую очередь нужно указать на связь ExtraDisplayID из CreatureDisplayInfo.dbc и самой таблицы CreatureDisplayInfoExtra.dbc
4 Столбец ExtraDisplay из дбс CreatureDisplayInfo ссылается на таблицу CreatureDisplayInfoExtra.dbc, если присутствует запись в 4 столбце, то у моба активируется особый визуал, базируемый на расе, в этом визуале для моба указывается ссылка на особую текстуру, которая будет наложена на модель расы, так-же в этом дисплейнике будет доступен выбор типа, цвета волос, наплечников, шлема и т.д.
Структура CretureDisplayInfoExtra.dbc:
Спойлер
1 - Энтри (ИД ExtraDisplay).
2 - Раса (Используется не для установки модели нпс, а в качестве ссылки на группу типов волос, серьг, цвета кожи и т.д.).
3 - Пол (0 - Мужской, 1 - Женский).
4 - Цвет кожи (Не особо понятно зачем нужна эта информация, учитывая что на модель все равно будет наложена особая текстура).
5 - Тип лица (Опять таки, будет наложена текстура).
6 - Прическа (У каждой расы свои схемы причесок).
7 - Цвет волос (У каждой расы своя схема).
8 - Тип серьг, рогов, и т.п. (У каждой расы своя схема).
9 - Ссылка на дисплей-ид шлема.
10 - Ссылка на дисплей-ид наплечников
11 - Дисплей ид рубашки (Если указана, может перекрывать перчатки, тем самым искажая визуал).
12 - Дисплей ид нагрудника (Позволяет движку понять какой геосет задействовать у модели, к примеру роба вместо бронежилета).
13 - Дисплей ид пояса (Так как пояс имеет несколько вариаций).
14 - Дисплей ид штанов (Позволяет движку понять какой геосет задействовать у модели, к примеру килт вместо шорт).
15 - Дисплей ид ботинков (Так-же имеют несколько вариаций).
16 - Дисплей ид браслета (Зачастую не указывается, так как может искажать визуал нпс).
17 - Дисплей ид перчаток (Перчатки имеют несколько вариаций).
18 - Дисплей ид гербовой накидки.
19 - Дисплей ид плаща.
20 - Одеваемый (Если установлен 1, то в случае если дисплей-ид наложен на игрока, то на нем все равно видны вещи надетые на персонажа).
21 - Имя текстуры, которая будет наложена на модель. (Расположены в директории Textures\Bakednpctextures).
Начать создание нового display ида для нпс, базируемого на расе можно с создания новой строки в CreatureDisplayInfoExtra.dbc
Создайте новую строку и ориентируясь на структуру файла CreatureDisplayInfoExtra.dbc заполните ее на основе WowModelViewer к примеру, и сохраните изменения в DBC.
Потом необходимо будет отредактировать файл CreatureDisplayInfo.dbc
Создайте в нем новую строку, и заполните ее ориентируясь на соответствующую структуру указанную выше.
Для удобства я отметил все ModelID'ы рас:
Спойлер
49 - Human Male
50 - Human Female
51 - Orc Male
52 - Orc Female
53 - Dwarf Male
54 - Dwarf Female
55 - Night Elf Male
56 - Night Elf Female
57 - Undead Male
58 - Undead Female
59 - Tauren Male
60 - Tauren Female
182 - Gnome Male
183 - Gnome Female
185 - Troll Male
186 - Troll Female
831 - Goblin Male
832 - Goblin Female
2208 - Blood Elf Male
2209 - Blood Elf Female
2248 - Draenei Male
2250 - Draenei Female
Так же, есть еще модели рас, при желании вы можете найти их сами.
Большая часть информации описанной в этой статье взята с сайта WoWDev wiki.