Титульная страница DelphiGFX Сделать закладку Написать письмо автору сервера 

  Главная - Документация - 2D Графика

Мастера Delphi | Corba  

Анимированные cпрайты в TrueSpace

Copyright © 2000 Мироводин Дмитрий  

Как создать высокохудожественное изображение не имея хороших навыков рисования? Раньше все спрайты приходилось рисовать по точкам или в простеньких редакторах а-ля MS Paint ( хотя году в 92-93 такой редактор считался вполне нормальным :). С появлением таких пакетов как 3D Studio, Ray Dream Studio и т.д. положение изменилось. Весь процесс создания заключается в изготовлении единичной модели, которую потом можно отрендерить под любым углом и придать необходимые движения.

Но вернемся к практической части. Первое: нужно достать непосредственно сам пакет 3D графики. Я выбрал TrueSpace 4 по нескольким причинам:

  • Он не так требователен к ресурсам : вполне нормально работает на P-233 с 32Mb, a 3D Studio нужно 48Mb минимум
  • Более визуализирован: все операции можно производить прямо на объекте.
  • Экспортирует в формат Direct3D - *.x
  • На мой взгляд его проще понять без книжки. Интуитивный интерфейс.

Демо версию TrueSpace 4.3 можно скачать на сервере фирмы-разработчика: Caligari, или Вы можете поискать программу на многочисленых FTP архивах. На данный момент доступна версия 5.X, но честно говоря все необходимые функции есть и в старой версии.

Этап 1 - сделать нужную модель

Здесь можно поступить двумя путями - скачать готовые модели со специальных серверов, либо делать что-то самому. Быстрее всего достать уже готовую и изменить ее для своих целей. Но можно делать с нуля, применяя различные модификаторы к стандартным примитивам. В примере я взял готовую модель самолета B-25:

Выглядит она впечатляюще. Маленький совет на : стадии работы не заливайте модель текстурами - это сильно тормозит работу компьютера. Текстуры наложите только в последнюю очередь.

Этап 2 - задание движения

Допустим наш самолет летит только вперед и делает поворот вправо и влево. Для этого модель надо повернуть по ходу его полета. Вызываем меню объекта ( правый клик на значке курсора ) и вводим параметры поворота модели: X : 0, Y : 0, Z : -90.

Далее приводим модель в начальное положение - крайне правое. Для этого установим поворот Y : 45. Далее инициализация анимации : нажмите кнопку 2 на рисунке ( Record ) и запускаем анимацию - кнопка 3. Программа запомнила начальное положение объекта.

Теперь введем количество кадров для анимации ( на рис цифра 1 ) 30 кадров и развернем самолет в его конечное положение ( крайне левое ). Для этого введем Y : -45 градусов. Все - теперь нажав кнопку Play вы сможете увидеть поворот самолета. Поворачивая камеру Вы можете создать анимацию под любыми углами. Все зависит от выбора вида в игре.

Этап 3 - заключительный этап рендеринг

Ддля некоторых он может быть головной болью из-за нехватки быстродействия. Каждый кадр анимации записывается в отдельный файл или в видео ролик. Тут все просто. Главное в свойствах рендеринга поставить цвет фона ( BackGround : Color ) и сглаживание ( AntiAlias : None ).

BackGround - нужно выбрать, токой какого цвета нет на сомой модели, иначе не возможно будет выводит спрайты с прозрачным цветом.

Что из этого получилось, можно увидеть тут.

Единственный минус всех пакетов, и TrueSpace в частности - он создает на каждый кадр свой отдельный файл. И в конце рендеринга у Вас получится огромное количество файлов с которыми очень неудобно работать. Надо склеить каждое движение в один файл и для этого я написал небольшую программку BMPCreator.

Пользоваться ей очень просто: Вы задаете каталог, где лежат BMP файлы. Задаете ( если понадобится ) отсечение сверху, снизу, справа, слева и отступ между спрайтами.

Далее, задав выходное имя файла, нажимаете 'Создать' и все отдельные спрайты склеиваются в один файл.Программа создает временный файл и Вы сразу можете посмотреть полученную анимацию, нажав "загрузить". Если Вас все устраивает, то сохраняйте полученный файл - "Сохранить в файл".

Потом его очень удобно грузить в ImageList или в DirectDrawSurface. На каждое законченное движение лучше создавать свой файл. Для компиляции потребуется DelphiX и RXLib. Да, совсем забыл сказать - скомпилированную программу я не высылаю, если вы не можете откомпилировать готовый пример - вам не чего заниматься созданием игр :)

Список ссылок
Адрес автора
Официальный сервер True Space
Пример полученных спрайтов
Исходный код BMP Creator
Модели 3D Cafe
Просмоторщик и конвертер 3D форматов 3D Exploration
Титульная страница DelphiGFX Сделать закладку Написать письмо автору сервера
Hosted by uCoz