Импорт криттеров из FT в Fallout 2

 

Введение

Вашему вниманию предлагается общее руководство по созданию FRM для криттеров в Fallout 2. Так, как здесь это описывается на примере импорта криттера из Fallout Tactics, то большая часть применима и для создания новых наборов FRM.

 

Необходимые файлы и софт

Нужный вам файл *.spr из Fallout Tactics (в данном случае “environmental.spr”)

Spr2Frm (Включая Spr2Gif, Gif2Frm, и FrmCat)

Frame Animator 2.51

Скрипты для Frame Animator

RenFRM.bat

 

Шаг 1 – Подготовка исходных FRM

Итак, на этом этапе вам предстоит по-сути создать новые FRM, несмотря на то, что они будут всего лишь исходным материалом и с ними нужно будет ещё повозиться, иначе они будут ужасно выглядеть.

 

Скопируйте файл environmental.spr в ту же папку, что и Spr2Frm и из командной строки введите следующее (без расширения *.spr!):

 

Spr2Frm environmental

 

Откиньтесь на спинку стула и наслаждайтесь процессом. На медленных компьютерах он займёт некоторое время. Как только конвертирование закончится, переходите к следующему шагу.

 

Шаг 2 – Выравнивание новых FRM

Теперь вам нужно выровнять все FRM. Не волнуйтесь, это не так ужасно как кажется, вам всего лишь нужно убедиться, что главный FRM расположен в центре, и программа сама выровняет остальные, относительно него. Название главного FRM должно выглядеть как xxxxxxAA.FRM, но сейчас он называется или StandBreath или StandFidget. Хорошо что движок FO2 автоматически проверяет картинку в FRM-файлах и выстраивает их так, чтобы нижняя часть картинки оказалась там же, где она у главного FRM.

Откройте Frame Animator

В меню ‘File’ выберите пункт ‘Open’ и выберите первый FRM

В меню ‘View’ включите ‘Hexes’.

 

© Wild_qwerty, 2006

 

Здесь видно, что ноги криттера находятся не в центре, отмеченном красным шестиугольником. Вам нужно отрегулировать ‘Frames Offset’ (обратите внимание на букву ‘s’, Frame Offset нас пока не интересует). Это можно сделать либо нажав кнопку ‘Frame Offset’, либо перетащив картинку мышью. Должно получиться следующее:

 

 

Теперь нужно повторить это для всех шести направлений (North East, East, South East, South West, West, и North West). Чтобы сохраниться, нажмите кнопку ‘Create FRM’. Frame Animator предложит вам сохранить набор как отдельные FRM для каждого направления. Я думаю это должно ускорить загрузку больших наборов FRM, к примеру сцен смерти. Я предпочел сохранить их как FRM, а не как FR0, FR1, FR2, FR3, FR4, FR5.

 

 

Это произошло из-за того что Spr2Gif центрует каждое направление в разных точках. Это не слишком большая проблема, в любом случае вам придётся подогнать один-два FRM, в зависимости от того, с чем вы работаете, но если у криттера есть FRMStandFidgit’, то лучше использовать его, как правило они лучше выглядят.

 

 

Шаг 3 – Ходьба, Бег и Лазание

 FRM ходьбы и бега нуждаются в отдельной обработке, прежде чем анимация будет нормальной. На самом деле если вы не отрегулируете Frame Offset для каждого кадра в отдельности, то ноги криттера будут просто скользить по одному гексу, а сам криттер будет оставаться на месте. Более того, это будет продолжаться до бесконечности! (Мне пришлось перезагружаться, чтобы прекратить это). Спасибо Jochua за функцию ‘automate’ и поддержку скриптов, потому что теперь решить эту проблему намного проще (раньше нужно было регулировать Frame Offset для каждого шага в каждом направлении)

 

Откройте Frame Animator

Выберите пункт ‘Automate…’ в меню ‘File

 

 

В поле ‘Source’ выберите нужные FRM передвижения

Поставьте галочку у пункта ‘Use Script

Найдите нужный вам скрипт (например ‘Walking 11’ для 11-кадровой анимации ходьбы)

Выберите папку для обработанных FRM (‘Destination’)

Выберите ‘FRM’ в поле ‘Destination Format’

 

Нажмите кнопку ‘Start’

 

Скрипт автоматически откалибрует анимацию движения для всех выбранных FRM. Дальше вам нужно будет запустить соответствующие скрипты для следующих анимаций:

 

Ходьба (Walking FRMs) – основной тип движения, нужный для любых видов оружия

Бег (Running FRMs) – Перемещение увеличивается в 2 раза, а FPS увеличивается до 18

Лазание (Climbing FRMs) – Каждый кадр сдвинется на -2 Y, но для этого вида анимации это не принципиально

 

Замечание: Эти скрипты работают только в случае если отдельные кадры входного FRM имеют одинаковый размер или выровнены при offset = 0, поэтому не следует пользоваться функцией ‘Autocutting’ перед их запуском.

 

Шаг 4 – Выбор кадра действия

В FRM–файле есть смещение, по которому хранится номер кадра, во время которого движок должен выполнять соответствующее действие (например атаку или использование предмета). По умолчанию значение этого смещения в новом FRM равно нулю. Поэтому криттер будет атаковать в начале анимации, а не в середине, как это должно быть. В приведённой ниже анимации атака будет осуществляться во время первого кадра, в то время как рука вытягивается к пятому кадру.

 

 

Нужное значение можно установить выбрав его из списка ‘Action Frame’ окна ‘Options’ в меню ‘Edit’. Обратите внимание, что нумерация ведётся с нуля, а не с единицы. Поэтому для первого кадра нужно выбрать значение ‘1’, для второго – значение ‘2’, и т.д.

 

 

Проделайте это для всех FRM рукопашной атаки и атаки холодным оружием, а к огнестрельному оружию мы вернёмся позже, так как их нужно сначала слегка поправить. Кстати, здесь не стоит изменять значение FPS (количество кадров в секунду), это нужно только для анимации бега (скрипты с этим прекрасно справляются).

 

Шаг 5 – Создание отсутствующих FRM

Вам придётся создать несколько FRM, потому что они либо включены не как отдельные анимации, либо вообще отсутствуют в FOT. Вот список FRM, которые вам нужно сделать или отредактировать. Без них вы не сможете менять оружие или стрелять из него.

 

Взять оружие – xC - (получается из FRM 'StandMagichigh'  или 'defalult')

Убрать оружие – xD - (получается из FRM 'StandMagichigh'  или 'defalult')

 

Прицелиться – xH - (получается из FRM 'StandAtackGun')

Опустить оружие – xI - (получается из FRM 'StandAtackGun')

Одиночный выстрел – xJ - (получается из FRM 'StandAtackGunBurst')

Очередь – xK - (получается из FRM 'StandAtackGunBurst')         

Огонь – xL - (получается из FRM 'StandAtackGunBurst') – нужно только для огнемёта

 

Для анимации смены оружия я просто отредактировал FRM 'StandMagichigh' и сохранил его как “Equip.FRM”. Для этого нужно было просто удалить всё кроме трёх средних кадров и сохранить как “Equip.FRM” (командный файл переименования связан именно с этим именем, поэтому файл нужно назвать так и никак иначе). Получается быстрое движение, похожее на смену оружия. Вместо этого вы можете просто использовать FRMdefault’, но тогда переход будет излишне резким.

 

К несчастью, в FOT отсутствуют анимации смены оружия. Описанный выше метод работает неплохо, но оружие просто появляется в руках криттера и так же исчезает. Есть и более существенная проблема, заключающаяся в том, что картинка оружия будет появляться не совсем на уровне рук криттера. Это происходит из-за разницы в размере анимации безоружного криттера и криттера с оружием. Особенно это заметно при использовании «больших пушек», к примеру пулемётов. Если вы хотите избавиться от этой проблемы, то вы можете точно откалибровать это, добавляя кадры с нужным оружием в файл ‘default.frm’ и проверяя правильно ли оно расположено. Это также предотвратит скачки(?) криттера во премя смены оружия. Эта работа требует очень много времени, поэтому я не стал с этим возиться.

 

Чтобы удалить ненужные кадры, выберите их и нажмите кнопку ‘Delete Frames’, или воспользуйтесь соответствующим скриптом, который удалит их. К примеру “6 Up.fas” удалит все кадры, начиная с 6-го (по возрастанию). Используя эти скрипты я пришёл к выводу, что проще сначала удалять  последние кадры.

 

 

Далее, для прицеливания, опускания оружия и стрельбы просто откройте StandAtackНазваниеоружия.frm и сохраните первый сегмент , где криттер прицеливается, как StandAtackНазваниеоружияH.frm, где криттер опускает оружие – как StandAtackНазваниеоружияI.frm, и где криттер стреляет – как StandAtackНазваниеоружияJ.frm

Для каждого из перечисленных FRM нужно удалить ненужные кадры. Также для оружия с двумя видами стрельбы (одиночная и очередь) нужно сделать только один набор кадров прицеливания и опускания оружия. Также следует отметить что в большинстве FRM есть точка перехода (между двух одинаковых кадров), где вам стоит разделять анимацию. В некоторых FRM такой точки нет. В таких случаях поступайте на своё усмотрение. Не забудьте выбрать Action Frame для StandAttackНазваниеоружияJ.frm

 

 

Шаг 6 – Переименование FRM

Теперь необходимо переименовать файлы, согласно стандарту, с которым работает Fallout 2. В этом вам поможет небольшой командный файл, сделанный мной. Естественно, он удвоит некоторые файлы FRM. К примеру все позы с оружием будут использовать одинаковую анимацию отдачи(?), но каждому из них нужен отдельный файл, даже если они ничем не будут отличаться (я копировал StandRecoil.frm для каждой анимации отдачи).

 

Как бы то ни было, просто скопируйте RenFrm в папку, где находятся новые FRM и запустите его из командной строки, используя следующие обозначения (вместо суффикса XX):

 

HA – Герой Androgneus (?)

HF – Главная Героиня

HM – Главный Герой

NANPC Androgneus

NFNPC Женщина

NM NPC Мужчина

МФ – Монстр Androgneus

 

Название должно быть 4х-буквенной аббревиатурой, чтобы соответствовать условиям именования файлов-ресурсов для Fallout 2 (иначе ничего не будет работать).

 

Решив вопрос с названием, запустите Renfrm со следующим синтаксисом:

 

RenFrm XXНазвание

 

И, наконец, вуаля! Вы сделали это! Осталось только скопировать полученные FRM в папку \data\art\critters и зарегистрировать их в файле *.lst, и можете приступать к созданию протофайла для своего криттера!

Hosted by uCoz