Руководство по созданию персонажа
Информация предоставлена с официального сайта Elecbyte
ОБУЧЕНИЕ 1 - Начало работы: спрайты
Введение
Если вы хотите сделать персонажа для MUGEN, вам необходимо хорошо понимать каждый компонент в работе с персонажем. Потому что, если перепрыгивать со страницы на страницу в технической документации, то это может привести к путанице, мы написали учебник, чтобы помочь вам начать работу. Чтобы больше понимать, чаще обращайтесь к документации. Вы можете споткнуться или застрять в чем-то, прежде чем вы создадите свой первый характер, но как и все остальное, когда вы освоите базовые основы, потом становится легче и быстрее добиться прогресса.
В обучении 1 вы узнаете, как сделать палитру для вашего персонажа, и как собрать спрайты персонажа. Кроме того, вы увидите, как сделать простую анимацию действий. В обучении 2, вы увидите, как определить ограничивающие поля для ваших анимаций, и в обучениях 3 и 4 мы характеризуем простую атаку. Для этого урока, вам понадобятся программы для редактирования изображений, такие как GIMP, Photoshop, или PaintShop Pro.
Мы предполагаем, что вы, по крайней мере знаете хотя бы базовые знания текстовых редакторов, в редакторах графики, в игровых концепциях, и хорошо ориентируетесь в командных подсказках. Если вы не знакомы со всем этим, мы рекомендуем вам прочитать некоторые обучающие материалы или книги по ознакомлению с веб-программами. Если у вас есть опыт работы в языках программирования, то вам будет гораздо проще понять наши документы. Ладно, теперь давайте начнем.
Урок 1. Создание палитры
Все спрайты, принадлежащие к характеру должны быть 256-цветными PNG файлами. Каждый спрайт должен иметь ту же 256-цветовую палитру для того, чтобы они могли корректно отображаются в игре. Если у вас есть опыт работы с Photoshop, следующая часть будет простой для вас. Мы предполагаем, что вы начинаете с истинно-цветное изображение (так называемый RGB в Photoshop). При преобразовании спрайтов в 256 цветов (также известный как индексированные цвета), большинство программ сделает краску палитры желательным образом, и они будут делать это по-разному для каждого спрайта. Здесь мы рассмотрим, как сделать стандартную палитру, и как ее применить к каждому спрайту..
В Фотошопе, перейдите Image->Mode->Indexed Color (Изображение->Режим->Индексированные цвета...).
Примечание автора: рекомендуется использовать фотошоп не ниже Photoshop CS2.
Появится окно. В этом окне установите палитру Exact (Точно). Если вы используете Photoshop 5 или выше, не нажимайте на ОК. Для более ранних версий Photoshop, нажмите кнопку ОК, а затем преобразовать в RGB (Image-> Mode-> RGB Color [Изображение->Режим->RGB]), затем нажмите на Image-> Mode-> Indexed Color (Изображение->Режим->Индексированные цвета) снова.
Теперь выберите Custom (Заказная) палитра, нажмите колесиком вниз чтобы открыть окно Color Table (Таблица цветов). Следующим шагом, чтобы убедиться, цвет фона вашего спрайта имеет индекс цветопередачи 0 (мы называем это "цвет 0"). В M.U.G.E.N, цвет 0 цвет маскировки. Это означает, что все части спрайта, которые имеет цвет 0 не будут обращены.
Индекс цвета 0 всегда должен быть цветовым фоном. Фактический цвет (значение не индекса) до вас.
В редакторе таблицы цветов Photoshop, установите верхний левый цвет (это цвет индекса 0 в Photoshop), чтобы выбрать задний цвет фона для спрайта. Вы должны убедиться, что цвет 0 не повторяет никакой другой цвет в палитре, в противном случае Photoshop не установит цветовые индексы правильно. Чтобы сделать это, вы можете взять старый цвет 0 цвет и поставить его там, где используется фоновый цвет. (поменять местами два цвета).
Примечание автора: индексы цветов в таблице цветов, должны быть равны 0, должен получится ярко-салатовый цвет.
Примечание: Если вы используете версию MUGEN до 1.0, то предпочтительный формат файла, используйте PCX вместо PNG. В Photoshop, PCX файлы имеют нижний правый цвет, индекса 0. с файлами в формате PNG, это верхний левый цвет.
Нажмите на кнопку Save (Сохранить), чтобы сохранить эту палитру (мы назовем этот файл Player.act для этого урока). Теперь нажмите OK, чтобы применить палитру на это изображение, и сохраните файл как файл PNG.
Следующий шаг состоит в преобразовании всех остальных изображений для этой палитры, которые вы только что создали (Player.act). Для этого вы можете использовать следующий метод:
а) Откройте первое изображение, а затем нажмите на Image->Mode->Indexed Color (Изображение -> Режим -> Индексированные цвета).
б) Выберите созданную палитру из списка и нажмите на Load (Загрузить), и выберите файл палитры которую вы только что сделали (Player.act). Нажмите ОК, пока не вернетесь в главное окно.
в) Теперь сохраните это в виде файла PNG (PCX), и повторите процедуру для остальных ваших изображений.
Дизайн палитры очень важен на ранней стадии, прежде чем начнете делать спрайты. Хотя MUGEN позволяет использовать до 255 цветов для каждого спрайта, персонаж с хорошо продуманной палитрой не обязательно может использовать все имеющиеся цвета. Работа с ограниченным количеством цветов уменьшает не только размер файлов PNG, но и делает легче создать альтернативные палитры позже (различные цветовые схемы). Пиксели спрайта можно делать вручную и это гораздо легче, но только с небольшим набором цветов (от 16 до 32), это может стать утомительным, если у вас большой набор палитры для работы. С другой стороны, предварительно оказанные спрайты могут выглядеть лучше с более широким диапазоном цветов, за счет небольшой дополнительной работы. Имейте эти моменты в виду при проектировании палитры вашего персонажа.
Урок 2. Как начать создавать персонажа?
Перейдите в папку Chars/ и создайте новую папку для вашего персонажа. Давайте назовем наш характер "Player", для примера (замените "Player" на то название, которым вы хотели бы сами назвать своего персонажа). В этом случае, создайте папку с именем вашего персонажа.
Урок 3. Что нужно для создания характера?
В папке с персонажем (в нашем примере это Chars/Player) должны быть следующие файлы различных расширений:
player.AIR
player.CMD
player.CNS
player.DEF
player.SFF
player.SND
Что означает каждый из этих файлов, можно прочитать в Обзоре, который находится в шапке темы.
В этом уроке, вы будете делать player.SFF, файл спрайтов.
Урок 4. Как создать все эти файлы?
Вы можете сделать их все с нуля... Или, можете взять их с нашего примера Kung Fu Man (KFM). Каталог персонажа KFM находится в папке Chars/kfm/, или в kfm720, и его рабочие файлы находятся в папке /kfm/.
Урок 5. ОК, я взял файлы у KFM. И что теперь?
Первое, что нужно сделать, это скопировать и переименовать файлы, необходимые для вашего персонажа. Предполагая, что имя папки вашего игрока называется "Player", то эти файлы необходимо скопировать:
chars/kfm/kfm.air -> chars/player/player.air
chars/kfm/kfm.cns -> chars/player/player.cns
chars/kfm/kfm.cmd -> chars/player/player.cmd
chars/kfm/kfm.def -> chars/player/player.def
Что это за файлы? Эти 4 файлы находятся в текстовом формате, который можно редактировать в любом текстовом редакторе, например, MS-DOS Edit или Windows WordPad, подойдет и обычный блокнот. Вот список каждого из этих файлов, что они делают, и их соответствующие файлы технической документации.
.AIR - Данные анимации. Здесь описывается, как спрайты будут анимированы. (Формат AIR)
.CNS - Constants и states. Это то где вы определяете state-ы вашего персонажа. Это ядро, действий и поведения вашего персонажа (CNS format, Expressions)
.CMD - Команды функции движения. В .cmd определяются команды, которые вызывают перемещение триггеров (trigger), в состоянии атаки. Он работает с файлом .cns чтобы определить, как ваш персонаж реагирует на нажатие клавиш и ввод джойстика. (смотри комментарии в файле kfm.cmd)
.DEF - Файлы и основная информация о персонаже. (смотри комментарии в самом файле kfm.def)
Чтобы настроить основную информацию вашего персонажа, откройте файл Player.def с помощью текстового редактора. Измените поля соответствующие значения. Например:
; Player information ; Информация игрока
[Info]
name = "Player" ;Имя Персонажа
displayname = "Player" ;Имя Персонажа на дисплее
versiondate = 09,09,2009 ;Дата создания персонажа (Месяц.День.Год)
mugenversion = 1.1 ;Версия MUGEN для работы характера
author = "My Name" ;Имя автора персонажа
pal.defaults = 1,2,3,4,5,6,7,8 ;Палитра по умолчанию, в порядке предпочтения (до 9)
;Нумерация начинается с 1
localcoord = 320,240 ;Локальные координаты пространства, ширина и высота
; Files for the player ;Файлы для игрока
[Files]
cmd = player.cmd ;Набор команд
cns = player.cns ;Constants (константы)
st = player.cns ;States (состояние)
stcommon = common1.cns ;Common states (из папки data/ или motif)
sprite = player.sff ;Спрайты
anim = player.air ;Анимация
sound = player.snd ;Звуки персонажа
ai = kfm.ai ;AI подсказывает данные (Не используется)
; Arcade mode ;Режим аркады
[Arcade]
intro.storyboard = ;Вступление персонажа
ending.storyboard = ;Концовка персонажа
Продолжение. Создание файла спрайтов
Теперь давайте сделаем player.sff, файл спрайтов персонажа. Он будет содержать все изображения, используемые вашим персонажа. Файл спрайтов называется .SFF, и программа, которая редактируют это, называется sprmake2 (сокращено от Sprite Maker 2 - это новая версия программы, используемой до версии MUGEN 1.0).
На данный момент мы остановимся на том, как просто сделать анимацию. Если у вас уже есть спрайты, которые вы хотите использовать, используйте их. Давайте предположим, что готовая анимация, которую вы хотите использовать называется stand00.png - stand03.png в каталоге work/Player/. Теперь, создайте текстовый файл в папке work/Player/ и назовите его Player-sff.def. Вот начало текстового файла, который вы будете использовать (строки комментариев начинаются с точки с запятой).
Номер группы и номер изображения, которые вы вводите для каждого спрайта, используется для доступа к нему в файле .air (анимация). Это просто пара чисел, которые вы связали со спрайтом. Например, вместо ссылки на stand02.pcx, вы будете ссылаться на 0,2.
Номер группы 0 используется для постоянных кадров. Вы можете проверить файл AIR позже для рекомендуемых номеров других действий анимации. Номер изображения просто определяет, какой образ находится в пределах определенного числа групп. Вы должны получить свои собственные оси Х и У у вашего спрайта. Положения кадров в состоянии стоя ставится, как правило, в самом низу в центре спрайта. В спрайтах для прыжка, ось, как правило находится в положении, в котором ноги персонажа были бы, если б он стоял. Это, как правило, находится в центре под спрайтами. Вы можете проверить спрайты игрока KFM, запустив MUGEN и нажав Ctrl-C во время игры. Это покажет где ограничиваются рамки и оси персонажа. Вот некоторые из примеров (рис. 1):

Пояснение от автора: Ось X это начало картинки с правой стороны по диагонали, ось Y это начало картинки снизу по вертикале. Разберем самую первую картинку 18,105. 18 это ось X начиная от крайнего локтя, 105 это ось Y верхушка головы персонажа, а точнее его прически, красная точка это 0 координат по оси X, Y.
Позиции ваших осей, это очень важно. Если они немного не ровно находятся между спрайтами, вы заметите, что ваши спрайты "дрожат" вокруг. Вы можете сделать большие ошибки, спрайты могут в конечном итоге появляется в совершенно неправильных местах.
После того как будет готов player.txt, перейдите в каталог, где у вас есть mugen.exe и sprmake2.exe, и т.д., и сделайте player.sff, набрав в командной строке:
sprmake2 work\player\player-sff.def
Если вы получаете ошибки или player.sff не был правильно сделан, проверьте ваши файлы Player.sff и Player-sff.def на наличие ошибок.
Урок 6. Я сделал файл SFF. Что дальше?
Хорошо, теперь у вас есть готовые спрайты в player.sff, пришло время, чтобы оживить свой характер. Для того, чтобы сделать готовую анимацию, вы должны создать действие action для него (действие action блок, текст который описывает одну последовательность спрайтов для отображения). Откройте player.air в текстовом редакторе, и добавьте готовые действия анимации. Если ваш файл player.air является копией kfm.air, вы можете просто отредактировать соответствующую группу действий (действие 0 для готовой анимации).
Пора сделать player.air. Если вы читали файл AIR, то вы знаете формат для .air который является:
1 число, 2 число, 3 число, 4 число, 5 число [опции]
Group number, image number, X offset, Y offset, game-ticks, [options]
1 число это номер группы спрайтов
2 число номер картинки входящих в группу спрайтов
3 число движение по оси Х
4 число движение по оси У
5 число - это сколько времени будет длится анимация на экране
Не волнуйтесь о линиях, которые начинаются с Clsn2 и Clsn2Default сейчас.
; Готовая анимация
[Begin Action 0]; Действие 0 готовой анимации
Clsn2Default: 2
Clsn2 [0] = -10, 0, 10, -79
Clsn2 [1] = -4, -92, 6, -79
0,3, 0,0, 7
; Эта строка означает, что использует спрайт (0,3) (т.е. номер группы 0, номер изображения 3.)
; отображает его на 7 (время) game-ticks. 1 game-ticks это 1/60 сек, поэтому 60
; ticks составляет 1 секунду. Группа 0 Изображение 3, этим файлом является stand03.pcx.
0,2, 0,0, 7
0,1, 0,0, 7
0,0, 0,0, 7
0,1, 0,0, 7
0,2, 0,0, 7
; конец файла
Теперь сохраните этот файл, и вы готовы посмотреть как выглядит ваш персонаж!
Урок 7. Проверка ваших действий
Если все файлы находятся в нужном месте, вы можете напрямую загрузить свой характер через MUGEN, набрав в командной строке:
mugen player player
Это ярлык для Versus Mode. В настоящее время, не волнуйтесь, если вы видите предупреждения в верхней части экрана. Предупреждения являются признаком того, что что-то неверно или отсутствует в вашем характере. В этом случае, у вашего персонажа могут отсутствовать необходимые спрайты или анимационные действия.
Если вы увидели что спрайт находится слишком высоко, как будто он плавает над землей, то переместите его ось чтоб было ровно. Просто помните, что ось находится на уровне земли, когда герой находится на земле. Кроме того, если ваш персонаж находится слишком далеко вперед, переместите его по правую ось. После того как вы настроили оси для всех спрайтов правильно, ваш персонаж не должен быть раздвижным или ерзать вокруг да около во время анимации.
Вы случайно нашли № группы спрайта + номер изображения, которого не существует, то ничего не будет обращено. Так что, если вы видите что ваш персонаж мигает, вы должны вернуться и проверить файл .air, чтобы увидеть, если эти номера соответствуют тем, которые используются для создания вашего файла .sff.
Урок 8. Продолжаем с действиями и спрайтами
После создания файлов стойки (standing), вы можете перейти к ходьбе (walking), а затем и к прыжкам (jumping). Теперь когда вы знаете основы спрайтов и действий, вы должны продолжить создавать обязательные спрайты из списка spr.html и требуемые действия из зарезервированных номеров действий в документах AIR. Когда все будет готово, все предупреждения в верхней части экрана должны исчезнуть.
Во 2 части обучения вы сможете определить ограничивающие поля вашего персонажа, чтобы они могли получить удар и ударить других персонажей. Наконец, мы покажем вам, как определить некоторые атаки в .cns.
Материал перевел и подготовил Sceletron