XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Моделлинг
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Iron
Листовой
offline
Опыт: 24,427
Активность:
// code BakedNpcTextures
Вопрос такой. Кто-нибудь разобрался с тем, как шифруются в названиях текстур NPC в папке Textures\BakedNpcTextures их расса, пол, цвет кожи и др.?
Старый 14.02.2006, 15:52
Алексей
Где кошачья мята?!
offline
Опыт: 26,303
Активность:
Если имеются в виду текстуры с бессмысленными именами вида:
197986c122efda4ca209e4e7e4ca5dde.blp
то они создаются по довольно сложной схеме, с использованием шифр-таблицы. В деталях пока не разбирался, но со временем разберусь.
Старый 14.02.2006, 18:12
N.Sy.Prophet
Йа Байан
offline
Опыт: 13,122
Активность:
Iron ты бы хоть написал что это ВоВ... А то со стороны, чё то не дошло :)
Старый 14.02.2006, 18:40
WildCat
General Mapmaker
offline
Опыт: 10,232
Активность:
Так значит это нагромождение символов ещё и рашифровку имеет? :) Если бы ещё прогу, которая по запросу выдавала имена текстур соответствующих заданным требованиям, было бы вообще здорово. Я пытался тупо пересмартивая все текстуры найти ту, что использует Тиренд, но когда счёт пошёл на 2ю тысячу, я понял что этонереально.
Старый 15.02.2006, 01:33
Алексей
Где кошачья мята?!
offline
Опыт: 26,303
Активность:
Если скинешь .m2-модель, я попробую найти имя текстуры. В WoW-декодер "засовываются" параметры - раса, пол, цвет, тип, флаги (flags, IsNPC - один из них), имя модели, ID текстуры, и он возвращает бессмысленный набор символов, который, после прибавления к нему ".blp", превращается в имя текстуры.
Вот закончу редактор анимаций - займусь плотнее конвертером WoW->WC3. В частности, добавлю декодер текстурных имён. Но это будет ещё не скоро.
Старый 15.02.2006, 13:40
WildCat
General Mapmaker
offline
Опыт: 10,232
Активность:
Алексей, поскольку моделей NPC ночных эльфов я в архиве не нашёл, то думается, что для них используются модели персонажей, в данном случае NightElfFemale.m2, которую я тебе посылал. Буду очень благодарен, если посмотришь. Скриншот для контроля прилагается.
Старый 15.02.2006, 19:05
Алексей
Где кошачья мята?!
offline
Опыт: 26,303
Активность:
Скриншот мало чем поможет, т.к. у меня нет WoW и я не могу извлечь нужные текстуры для проверки.
В общем, подставив в декодер Race=4 (похоже, что это число означает NightElf) и Gender=1 (скорее всего, Female), я получил список ВСЕХ текстур женских эльфийских NPC. Всего декодер выдал 261 имя. Их листинг прилагаю. Просьба проверить и сказать мне, действительно ли это - текстуры NPC-эльфов женского пола.
Старый 15.02.2006, 21:42
WildCat
General Mapmaker
offline
Опыт: 10,232
Активность:
Алексей, все текстуры из списка существуют, ни одной ошибки. Не могу сказать только, все ли найдены :)

WildCat добавил:
Кстати, маленькое заподло - нужная мне текстурка была третьей с конца.
Старый 15.02.2006, 23:46
Iron
Листовой
offline
Опыт: 24,427
Активность:
Алексей Проверил штук 25 из списка, все эльфийки :) так держать.

А собственно че за декодер? Ты сам пишешь? Тогда не совсем ясны фраза "подставив в декодер Race=4 (похоже, что это число означает NightElf) и Gender=1 (скорее всего, Female)"
Старый 16.02.2006, 00:42
Алексей
Где кошачья мята?!
offline
Опыт: 26,303
Активность:
WildCat: Так ты что, разыскал/извлёк ВСЕ текстуры? Две сотни? А потом их конвертировал и просмотрел? Ничего себе... Представляю, сколько на это ушло времени.
Iron: Декодер собственный, а вот таблицы для декодирования - из WoW. Сам процесс декодирования несложен - это всего лишь "прыжки" по таблице.
Каждая шифр-таблица содержит заголовок. В этом заголовке помимо прочего указано, сколько необходимо параметров для полного прохождения шифр-таблицы. Таблица NPC-текстур требует 19 параметров. Первый из них - всегда ID для любой шифр-таблицы WoW (подставляя туда ряд последовательных значений, мы просто перебираем текстуры). Второй может принимать значения от 1 до 9. Попытка подставить что-то другое приводит к вылету за пределы таблицы. Логично предположить, что этот параметр обозначает расу (кстати, у меня есть полное описание параметров таблицы CharSections, так вот там они идут так: ID,Race,Gender,Type,...) логично было предположить, что и NPC требует таких же параметров. Если это действительно так, то 4 означает "NightElf".
Третий параметр может принимать только значения 0 и 1. Само собой, пол (тут я уже не сомневался). В общем, подставив нужное, я в цикле перебрал все ID для получения списка текстур, соответствующих указанным параметрам.
И, как видно, предположения оказались правильными :).
Старый 16.02.2006, 10:49
WildCat
General Mapmaker
offline
Опыт: 10,232
Активность:
Алексей, я воспользовался прогой My WarCraf Studio, которая позволяет просматривать ВоВовские модели и текстуры не извлекая их из архива. Кроме того в окрестностях тех файлов мне не встретилось ни одной пары, у которых в имени были одинаковыми больше 4х первых символов, поэтому мне особо не пришлось напрягать память и зрение. Так что времени я потратил гораздо меньше, чем мог бы :) Если честно, мне это наскучило уже на 50й текстуре, но я решил всё-таки найти ту, которая использована для Тиренд и по закону подлости она оказалась третьей с конца. :D
Старый 16.02.2006, 20:40
Iron
Листовой
offline
Опыт: 24,427
Активность:
А откуда таблица сама (в смысле она в архиве есть, или кто-то написал отдельно)?
Просто если в архиве, то я могу снабжать тебя последними ее версиями, т.к. играю на оффе.
Старый 16.02.2006, 20:49
Алексей
Где кошачья мята?!
offline
Опыт: 26,303
Активность:
В архиве. Как раз ты меня этими таблицами и снабдил, за что тебе - большое спасибо. Все эти таблички лежат в dbc.mpq. Там же содержатся всевозможные списки (аналоги War'овских SLK).
Старый 16.02.2006, 21:43
Iron
Листовой
offline
Опыт: 24,427
Активность:
Ну как там дела продвигаются? Можешь не разбераться с тем, что значат числовые значения, скинь нам сырой конвертор, и мы методом проб и ошибок определим что значит каждое поле и индекс.
Старый 21.02.2006, 20:54
Алексей
Где кошачья мята?!
offline
Опыт: 26,303
Активность:
Пока никак, я сейчас работаю над самим MdlVis. Уже и так новый релиз побил все рекорды по медлительности изготовления, т.к. я всё время отвлекаюсь на всякие интересные темы (вроде WoW-декодера).
Если есть желающие покопаться в текстурах NPC, аттачу декодер. Только он очень сырой, пользуйтесь им аккуратно. Он будет часто вылетать - не обращайте внимания, я ведь его для себя делал (в порядке эксперимента).
Как им пользоваться?
1. В один каталог с exe необходимо кинуть саму шифр-таблицу - CreatureDisplayInfoExtra.dbc. Она лежит в dbc.mpq и весит около 600Кб.
2. Декодер откомпилирован именно под эту шифр-таблицу (NPC), для работы (к примеру) с текстурами персонажей (Characters) его нужно перекомпилировать.
3. Декодер содержит поля для ввода параметров и переключатели. Установив галочку в переключателе над полем параметра, вы вколючаете проверку этого параметра. Тогда будут выбираться только текстуры, для которых этот параметр равен... ну, тому, что вы ввели в поле.
Если отключить все галочки, то будут найдены ВСЕ текстуры (т.е. полный листинг всех NPC-текстур всех типов), этот процесс займёт длительное время.
НЕ УСТАНАВЛИВАЙТЕ ГАЛОЧКУ НАД ПОЛЕМ ID! Оно введено для внутренних нужд декодера, и если вы её установите, он будет глючить.
4. По умолчанию включены только параметры "Раса" и "Пол". "Раса" может принимать значения:
1 - человек
2 - орк
3 - гном
4 - эльф
5 - плеть (или не плеть? В общем, нежить)
6 - таурен
7 - гном
8 - тролль
9 - гоблин
Пол - только 0(М) и 1 (Ж).
Например, введя Race=4, пол=1, получим список текстур всех NPC-эльфиек.
5. Для запуска декодера нужно нажать кнопку "NPC". При этом список заполнится декодированными текстурами (их именами). Они идут вразброс, т.е. не по порядку. Двойной щелчок мышью по списку отсортирует их по алфавиту и скопирует отсортированный список в буфер обмена Windows.
6. Если после клика по кнопке "NPC" список пустеет, значит, какой-то из параметров принял неверное значение. Например, если установить галочку "Par4", то можно увидеть, что этот параметр может принимать значения от 0 до 9. Попытка указать 10 приведёт к получению пустого списка. Чем больше параметров задействовано, тем меньше текстур будет в списке (это понятно :), вводится дополнительное условие).
7. Некоторые параметры могут содержать "мусор" и давать пустой список при любых значениях. Такие параметры зарезервированы и в данной шифр-таблице не используются (думаю, таковых будет немало).
.
В общем, если есть горячее желание, можете поковыряться в WoW-текстурах.
Старый 21.02.2006, 22:40
WildCat
General Mapmaker
offline
Опыт: 10,232
Активность:
У меня появилась простая до гениальности идея: из этого списка можно сваять файл-лист для MPQ архиватора, если перед именем каждой текстуры дописывать textures\BakedNpcTextures\.
Старый 23.02.2006, 14:57
Iron
Листовой
offline
Опыт: 24,427
Активность:
WildCat И нафиг это нужно ?
Старый 07.03.2006, 14:47
Iron
Листовой
offline
Опыт: 24,427
Активность:
Пока раскрыл значение полей : Par4-Цвет кожи, Par5-Цвет волос.
Старый 08.03.2006, 16:59
Алексей
Где кошачья мята?!
offline
Опыт: 26,303
Активность:
А можно узнать, какое значение какому цвету соответствует?
Старый 08.03.2006, 18:25
WildCat
General Mapmaker
offline
Опыт: 10,232
Активность:
Iron
Цитата:
WildCat И нафиг это нужно ?
Получится что-то сродни фильтру, чтобы было легко находить нужные текстуры, т.к. остальные, которые не попадут в такой файллист либо вообще не будут отображаться, либо будут иметь вид ~unknown\~unknown000.
Старый 13.03.2006, 16:44
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 14:40.