HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Angled Sprite Toolkit
Поддержка монстров из Doom и Duke3D в ксаше!
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Angled Sprite Toolkit

Меня лефронт попросил ему скомпилить спрайт свиньи из дюк-нюкема для халфовской карты cs_duke, но поскольку у меня нет на это времени, я решил выложить вам полный тулкит с примерами, как это делается для ксаша и как это работает.
Собственно тулкит: www.hlfx.ru/xash/angled_sprite_toolkit.rar - 576 kb

Внутри архива содержится еще три:
xash_tools.rar - тот самый, утерянный xash tools, включает в себя extragen, spritegen, studiomdl, ximage, xwad. Я не буду подробно останавливаться на командах и параметрах данных утилит, поскольку всё это уже неоднократно обсосано, например здесь: http://www.hlfx.ru/forum/showthread...=&threadid=1619
Скажу только, что процесс создания монстров из дуума полностью автоматизирован (вам достаточно лишь сдекомпилить спрайты при помощи extragen, а затем скомпилить их в формат, понятный халфе, при помощи spritegen). Для спрайтов из дюка такой халявы нету, поэтому придется повозиться, расставляя спрайты в нужном порядке.
Вот приблизительное описание одного angled-кадра, для лучшего понимания происходящего.

C++ Source Code:
1
$angled
2
{
3
  // frame 'a'
4
  $resample		64 128
5
  $load		bossa2a8.bmp flip_x
6
  $frame		0 0 42 71 0.1 21 71
7
  $load		bossa1.bmp
8
  $frame		0 0 41 73 0.1 20 73
9
  $load		bossa2a8.bmp
10
  $frame		0 0 42 71 0.1 21 71
11
  $load		bossa3a7.bmp
12
  $frame		0 0 52 69 0.1 26 69
13
  $load		bossa4a6.bmp
14
  $frame		0 0 45 67 0.1 22 67
15
  $load		bossa5.bmp
16
  $frame		0 0 41 67 0.1 20 67
17
  $load		bossa4a6.bmp flip_x
18
  $frame		0 0 45 67 0.1 22 67
19
  $load		bossa3a7.bmp flip_x
20
  $frame		0 0 52 69 0.1 26 69
21
}

Итак, что мы здесь видим?
Команда resample выравнивает все кадры примерно к общему знаменателю (по умолчанию отключена глобальной командой $noreasample), но при сборке эту команду лучше закомментировать.
Далее, команда $load загружает нужную картинку. Обратите внимание - в том же дууме (да наверняка и в дюке) некоторые кадры используются два раза в целях экономии места, а сама картинка флипается по горизонтали. В ксашевском спрайтгене есть специальная команда flip_x специально для этих целей. Для любопытных сообщу, что команда flip_y также присутствует, но в данном случае она нам не понадобится.
теперь описание кадров для команды $frame.
первые четыре параметра, это rectangle картинки. Поскольку наши кадры являются законченными картинками, то туда следует прописывать "0 0 ширина высота". Параметр 0.1 относится к авто-анимации для групповых спрайтов и в данном случае роли не играет. Последние два параметра - это оригин КАДРА (не всего спрайта, а данного кадра), соответственно по ширине и высоте. Ширину всегда следует делить на два, а высоту указывать полную (оригин монстров находится в их ногах, как мы все помним).

Также архив содержит doom_boos_example.rar. Это набор картинок, для сборки одного из монстров doom. Данный набор и скрипт компиляции были получены при помощи extragen, и приложены на всякий случай, если у вас нету под рукой дуума, чтобы проделать тоже самое.
Из этого же скрипта ясно видно как анимация смерти превращается в обычные upright кадры. Словом, получается полноценный монстр из дуума.

Теперь самое интересное - поддержка всего этого добра на уровне ксаша. Я уже упоминал, что она там есть с незапамятных времен, просто лежит невостребованная. Теперь настало время увидеть её в действии:
распакуйте архив Xash Demo.rar в папку с ксашем и запустите demo.bat
Обратите внимание, что монстр берет освещение с уровня и от фонарика тоже, как и полагается всякому приличному монстру .

Задавайте вопросы, постараюсь ответить.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 79963

Старое сообщение 06-07-2011 12:02
-
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



зашибись. а монстру вместо модели это спрайт привязать можно?

Сообщить модератору | | IP: Записан
Сообщение: 79974

Старое сообщение 06-07-2011 17:17
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



только теоретически. Потому что в халфе же всякие эвенты, обратная связь от анимации, на этом весь AI держится.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 79978

Старое сообщение 06-07-2011 18:12
-
fire64
Житель форума

Дата регистрации: Apr 2007
Проживает: Москва
Сообщений: 2362
Возраст: 33

Рейтинг



Дядя Миша, а как устанавливать номер фрейма ?

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей

Сообщить модератору | | IP: Записан
Сообщение: 79979

Старое сообщение 06-07-2011 18:43
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



ну очевидно ручками из кода )))
Если пострелять в цыклер на демокарте, то он начнет менять кадры как и полагается циклеру.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 79980

Старое сообщение 06-07-2011 18:50
-
qpAHToMAS
Интернетовское трепло

Дата регистрации: Sep 2007
Проживает: (void)
Сообщений: 1788
Возраст: 32

Рейтинг



Скриншотов готового результата не хватает.

Сообщить модератору | | IP: Записан
Сообщение: 79981

Старое сообщение 06-07-2011 22:25
- За что?
LeFront
Он же KNVLV

Группа: Опытный
Дата регистрации: Jul 2008
Проживает: Караганда
Сообщений: 1690
Возраст: 34

Рейтинг



Я думал будет монстор.
Шобы портировать Duke

Сообщить модератору | | IP: Записан
Сообщение: 79987

Старое сообщение 07-07-2011 07:14
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
LeFront писал:
Я думал будет монстор.

Монстров добрый дядя Кутузофф напишет (я надеюсь)
А я взаместо этого сделал в ксаше поддержку детальных текстур как в стим-версии. Скоро выложу на попробовать.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 79988

Старое сообщение 07-07-2011 07:28
-
LeFront
Он же KNVLV

Группа: Опытный
Дата регистрации: Jul 2008
Проживает: Караганда
Сообщений: 1690
Возраст: 34

Рейтинг



Деталки это хорошо. Остался бамп

Сообщить модератору | | IP: Записан
Сообщение: 79991

Старое сообщение 07-07-2011 09:51
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



бамп вам HAWK сделает когда-нибудь

Добавлено сегодня в 14:22:

Поскольку никому особо не надо - удалено с сервера

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 79993

Старое сообщение 07-02-2012 10:22
-
Тема закрыта Дядя Миша 07-02-2012 в 10:22
Временная зона GMT. Текущее время 02:11. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Angled Sprite Toolkit
Поддержка монстров из Doom и Duke3D в ксаше!
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024