Приложения:
-Photoshop
-d2dfme by Белокрылый1. Необходимо определиться с тем, какую именно модельку хочется сделать и, соответственно, достать спрайты, необходимые для "основы" (я так называю STAND, WALK, DIE (обе, но можно одну), PAIN, всё остальное можно дорисовать вручную)
2. Необходимо помнить, что каждый кадр модельки должен быть размером 64х64 пикселей, для каждого гибса (куска мяса) 32х32, следовательно, если исходные кадры модельки больше, каждый из них необходимо уменьшить. Недостающие кадры придётся дорисовывать вручную.
Все анимации:
STAND
ATTACK
WALK
DIE1
DIE2 (более тяжёлая смерть)
PAIN
SEEUP
SEEDOWN
ATTACKUP
ATTACKDOWN
+ куски (GIBS)
+ маска к каждой из них (как делать см. далее п.5)
3. Каждая анимация - последовательность кадров, которая хранится в 1 файле формата tga и проигрывается слева направо. Соответственно, в Photoshop все кадры обрабатываемой анимации размещаются в данном порядке, "лицом" направо (для смертей некритично). Кадры придётся разделять на глаз, НО при "Среднем" размере сетки прозрачности 1 клетка = 8 пикселей, 1 кадр = 8 всего клеток. Сохранять в tga с 32 бит/пиксель.
note by Jabberwock:
Для удобного позиционирования я, например, рисую на слое с бэкграундом в фотошопе вот такую сетку. Разумеется, лишние кадры надо отрезать. Можно использовать и встроенный Grid в фотошопе.4. Рекомендую открыть d2dfme и прокрутить анимацию, чтобы проверить её на "подёргивания", т.е. нестабильное положение модельки при проигрывании. При обнаружении подобных глюков, их лучше устранить.
5. Маска, т.е. то, цвет чего редактируется в свойствах игрока в самом D2D:F, делается так: на каждом кадре необходимо выделить то, цвет чего планируется сделать редактируемым, затем перенести в новый слой с помощью "Layer via copy" аkа "Копировать в новый слой". Слой с самой анимацией скрывается. Затем необходимо обесцветить области маски через "Hue/Saturation" aka "Тон/насыщение" и довести до приемлемого уровня яркости через "Brightness/Contrast" aka "Яркость/контраст". Лучше больше налегать на контраст и меньше на яркость, чтобы избежать однотонной маски. Файл с маской лучше назвать так же, как и соответствующую ей анимацию, но с добавкой "MASK", например STAND.tga и STANDMASK.tga, чтобы не путаться потом.
6.
Как устраняется кромка вокруг гибсов, появляющаяся при игре, смотреть по этой ссылке.7. Когда вся графика готова, нужно подобрать звуки. 5 звуков боли и 4 смерти. Формат лучше wav, насчёт других не знаю - не пробовал. Все ресурсы лучше кидать в одну папку.
Звуки очень советую называть так (в скобках соответствие):
PAIN1 (1-20 ед. урона)
PAIN2 (21-55 ед.)
PAIN3 (56-120 ед.)
PAIN4 (56-120 ед.)
MEGAPAIN (>120 ед.)
DIE1 (просто смерть)
DIE2 (тяжёлая смерть)
DIE3 (разнос в куски)
FALL (падение за карту)
8. В d2dfme распределяем звуки и анимации соответственно тому, что они обозначают. Звуки распределяются по уровням, но тут есть небольшой баг - все уровни получаются по факту на 1 уровень ниже, чем задаётся в редакторе. Затем лучше заполнить поля Автор и т.п. и сохранить текстовик без запаковки WAD'a. ВАЖНО: параметр N/A не поддерживается, а текстовик в d2dfme в данном случае не откроется!
9. Открываем текстовик, там находим [Sound]
Если звуки названы так, как я советовал, то, чтобы звуки работали так, как надо, всю секцию, кроме заголовка нужно заменить на:
Code:
pain1=PAIN1
painlevel1=1
pain2=PAIN2
painlevel2=2
pain3=PAIN3
painlevel3=3
pain4=PAIN4
painlevel4=3
pain5=MEGAPAIN
painlevel5=4
die1=DIE1
dielevel1=1
die2=DIE2
dielevel2=2
die3=DIE3
dielevel3=3
die4=FALL
dielevel4=4
10. Открываем d2dfme, где выбираем "открыть" и выбираем свежесохранённый в п.8 текстовик с параметрами модельки.
11. На каждом кадре (кроме смертей и боли) располагаем каждое оружие, выбираем задержку проигрывания для анимаций более, чем из 1 кадра. Важно: в редакторе всё проигрывается где-то в 2 раза быстрее, чем в игре!
12. Последняя проверка правильности соответствия всех ресурсов и выбираем "Сохранить и запаковать..."
ГОТОВО!
Единственное что, так это нужно протестировать модельку прямо в игре и, при обнаружении багов, исправить их.
Отвечу на все вопросы по алгоритму.
By Chaos Knight