Diablo 2: Создание новых монстров с новым токеном, основы анимации
Анимация персонажей, монстров и НПС находится в файлах формата .dcc. Вся анимация монстров находится в папке Monsters. Каждая папка имеет название, которое соответствует названию Токена или Кода монстра (этот код можно найти в файле monstats.txt в колонке CODE). Например, токен фаллена это «fa». Внутри папки с именем токена, лежат еще папки с названиями части тел (hd – head, tr – torso, lh – left hand, rh – right hand, ra – right arm, la – left arm, lg – legs, sh – shield, s1 – first overlay). Если вы загляните, например, в папку таких монстров как Corrupted Rogues то увидите что их «ra» и «la» анимации содержат различные типы оружия. Таким образом, игра генерирует разновидности монстров, с разным оружием, доспехами шлемами и тд. Но не все монстры состоят из разных частей, некоторые состоят из только одной. Поэтому, с этого момента мы будем разделять два понятия: много-компонентные (multi-part) и одно-компонентные (one-part). Также в папке монстра есть папка cof, где лежат контрольные файлы анимации. Очень важно указывать правильное название файлов, потому что от этого зависит все. Рассмотрим пример опять таки на Фалленах.
Fatrlita1hth.dcc – это название одного из файлов анимации. За что же он отвечает? Если разбить название на части мы увидим: Fa – это название токена Фаллена, tr – указывает что это Тело (Torso), lit – значит Легкий вариант брони (light), a1 – указывает тип анимации (Атака 1), hth – указывает класс оружия (hth – hand to hand, то есть ручной бой). Что мы должны помнить всегда? Что, создавая новых монстров мы будем использовать только часть тела “tr”, только класс брони “lit” и только класс оружия “hth”. Потому что на самом деле не важно, что у нашего нового монстра будет в руках топор или меч, мы сейчас говорим о коде игры, а не о то, что изображено на анимации. Теперь пару слов про .cof файлы. Это контрольные файлы, которые указывают игре, сколько кадров есть в .dcc файлах, сколько направлений у юнита, какой кадр является действием и тд. Название .cof файлов должно состоять из токена монстра, типа анимации и класса оружия (FAA1HTH.cof).
В Diablo 2, монстры имеют 8 направлений. Направления нужно указывать только в таком порядке как на картинке. В каждом направлении должно быть одинаковое количество кадров.
Подготовка .gif анимации и создание .dcc анимации
Допустим у вас уже есть кадры из которых можно создать гифку подходящую для конвертации в Д2. Но этого мало. Нужно еще обработать эти кадры и подготовить гифку для конвертации в .dcc. Для этого вам понадобиться Gamani Gif Movie Gear. Первое что надо это сделать фон прозрачным. Нажимаем Frame > Global Properties ставим галочку возле слова Transparent и назначаем фоновый цвет прозрачным. Далее внизу надо установить Restore to background. Переходим на следующую вкладку Animation и нажимаем на кнопку возле GIF Bk Color – это цвет фона гифки. Здесь необходимо назначить тот же цвет, который мы сделали прозрачным. Теперь нажмите на кнопку Edit возле слов Global Palette и посмотрите на коды красок – здесь наша задача избавиться от красок с кодом 0,1,2 и 3, потому что игра их не читает. Все просто – если увидите где-то 0,1,2 или 3, просто поменяйте его на 4. От этого цвет не изменится, но будет читаться игрой. И последний штрих, надо продублировать первый кадр. Просто скопируйте первый кадр и вставьте его перед вторым (правая кнопка мышки > Paste before). Если все сделали, нажимаем File > Save Gif animation as…, укажите имя, типа файла .Gif и стиль Animation.
Когда гифка готова, можно конвертировать ее в .dcc. Для этого нам надо программку CV5. Откройте программу, найдите свою гифку, установите Frame from = 1, и нажимайте Save. Выберите тип файла .dcc и укажите имя. Перед вами откроется DCC save settings.
Сверху указываем, что у нашего монстра 8 направлений, а внизу надо поставить палитру Units. А теперь самое сложное и самое главное – это могучие Офсеты. Офсеты нужно вводить со знаком минус «-». Картинка с боку позволяет нам подобрать правильные офсеты на глаз. Чтобы понять какие-именно офсеты вводить вот несколько советов:
С помощью CV5 откройте .dcc файлы монстров из Д2 и пересохраните их как .dcc. Вы увидите, как расположены офсеты у стандартных мобов. Не смотрите на числа – смотрите на место, где линии пересекаются.
Почти всегда место пересечения линий – это возле ног юнита.
Включите 3д мышление – моб крутится вокруг одной точки. Эта точка и есть ваша цель. Эта точка, где у Паладина стоит Аура. Вы можете назначить своему мобу Ауру в игре, чтобы сразу увидеть правильно ли вы ввели офсеты. После нескольких попыток вы сможете вводить более-менее правильные офсеты.
Создание .cof файлов
Для создания .cof файла нам понадобится Сof Editor. У этой программы нет интерфейса поэтому придется работать в DOS’е. Для начала откроем файл new.cof.ini и разберемся с функциями:
- dcc_file = здесь нужно указать имя .dcc файла из которого мы делаем .cof. Файл должен лежать в папке программы
- cof_token = это Токен или Код анимации (мы уже обсуждали это выше)
- cof_mode = тип анимации (ходьба, бег и тд.)
- cof_class = класс оружия (у нас будет всегда HTH)
- nb_layers = количество слоев анимации (у нас будет всегда 1)
- xmin = -512, xmax = 512, ymin = -512, ymax = 512 – всегда должно быть так
- trigger_value = является ли данный тип анимации действием (атака или каст). 0=нет, 1=да
- trigger_frame = кадр, в котором происходит действие (вводим номер кадра)
- layer_order = порядок слоев. У нас всегда = 01
И дальше все оставляем как есть:
- layer_composit_01 = 01
- transparency_01 = NO
- layer_class_01 = hth
Теперь открываем DOS и прописываем путь к программе. Когда оказались в папке с файлом .exe, прописываем команду cofedit.exe –generate new.cof.ini
Таким образом, вы создали файл .cof. Перенесите его в папку «cof» своего нового монстра.
Работа с файлом Animdata.d2
Файл Animdata.d2 хранит в себе всю информацию об анимации в игре. Сам файл находится в папке data\global. Для его модификации нам надо скачать программку Animdata_edit_v2.1. Скачайте и скопируйте содержимое в любую папку. Запустите файл Extract.bat. У вас появится файл AnimData.txt. Этот файл нам и надо модифицировать. В этом гайде мы учимся создавать новых монстров с новыми токенами, поэтому мы не будем модифицировать уже существующую информацию, а будем добавлять новую. Теперь рассмотрим, что означают названия колонок:
CofName – надо указать, как называется ваш Cof файл.
FramesPerDirection – количество кадров в одном направлении.
AnimationSpeed – скорость анимации.
FrameData000-FrameData143 – это инфомация о кадрах. Помните мы говорили про кадр, в котором происходит действие? Если данный Cof файл является действием (атака или каст), нужно указать в каком кадре происходит действие. Если при создании Cof файла вы указали что действие происходит, например, в кадре 8, то здесь найдите колонку FrameData008 и поставьте там «1». Все остальное должно быть «0». Нельзя ставить единицы в файлах, где действие не происходит, и нельзя ставить единицы в двух кадрах. Если закончили, сохраняйте файл, и запустите файл Pack.bat в папке с программой. Теперь найдите файл AnimData.d2 в той же папке и скопируйте его с заменой в data\global. Все, вы создали новый токен для монстра.
Есть еще одна полезная программка COFTXT, которая извлекает информацию из ваших Cof файлов и генерирует строки для файла AnimData.txt. Я ней не особо пользуюсь, но полезно ее иметь при себе и знать, как она работает.
Создание нового монстра в monstats.txt и monstats2.txt
Откроем monstats.txt и создадим новую строку внизу. Всегда лучше копировать какую-нибудь строку из уже готовых и вставить внизу. Здесь главное указать в колонке Code токен вашего нового монстра. Функции остальных строк можно найти в полном описании файла monstats.txt, но пару советов все же дам.
- Название в колонке MonStatsEx всегда должно соответствовать названию в файле monstats2.txt;
- Не забудьте выбрать подходящий AI для своего монстра, здесь можно много эксперементировать;
- В колонке enabled всегда ставьте 1;
Теперь откройте monstats2.txt. Id должно соответствовать имени в колонке MonStatsEx в файле monstats.txt. Скопируйте первую строку и вставьте внизу как новую. Нас интересуют только следующие колонки:
MeleeRng – дистанция, из которой монстр сможет вас атаковать;
TRv = «lit» (остальные пустые)
TR = 1 (остальные пустые)
TotalPieces =1
Колонки mDT mNU mWL mGH mA1 mA2 mBL mSC mS1 mS2 mS3 mS4 mDD mKB mSQ mRN – это типы анимации вашего монстра. Я же не знаю, сколько их у вас будет. Если например, у вашего монстра есть анимация ходьбы, то поставьте «1» в колонке mWL. И так далее.
Restore – всегда «1»!!! (О, Боже, сколько проблем мне доставила эта колонка).
isSel – позволяет навести на монстра мышкой.
corpseSel – позволяет навести на труп мышкой.
isAtt – позволяет атаковать.
Revive – позволяет оживить.
Если все готово, откройте файл levels.txt, найдите строку Act 1 - Wilderness 1, найдите колонки mon1-25 и вставьте здесь имя своего нового монстра. Он должен появиться на Кровавом Болоте. Пойдите, посмотрите что получилось.
P.S.
В данном архиве вы сможете найти кадры анимации юнита из игры Златогорье 2. Вы можете испольовать их чтобы потренироваться использовать советы в гайде на практике.
Вернуться к разделу Diablo 2: Создание своих модов
Автор: JetaMan
Смотрите также: | ||
|
Комментарии
|
+2
|
|
+3
|
|
+7
|
|
-7
|
|
+8
|
|
+3
|
|
+2
|
|
+5
|
|
+2
|
|
+2
|
|
+1
|
|
+2
|
|
+1
|
|
+3
|
|
+2
|
|
+3
|
Реклама:
Ответить