Цели
и задачи статьи: показать способы создания анимации в 3Ds Max 7.0 или
выше (можно использовать и ранние версии, но с оговорками указанными ниже)
и использования ее в Delphi DirectX - играх.
Системные
требования
-
Наличие среды Delphi 6, 7 или выше для компиляции исходного кода, наличие
3Ds Max 7.0 или выше для создания моделей и анимаций;
-
Операционная система Windows 98SE/2000/XP sp2 или выше с установленным
DirectX 8.1 или выше;
-
минимум ПК уровня Pentium III с тактовой частотой 1000 МНz или выше, RAM
128 Mb и выше, 32 Mb Video RAM и выше, DirectX-совместимая звуковая карта,
мышь.
-
Рекомендуется наличие DirectX SDK 8.1 или выше (для изучения DirectX);
-
Терпение, старание и желание создавать компьютерные игры.
Введение
Наверное
нет смысла объяснять что игра без анимации - это всё равно что паровоз
без колес. В современных играх применяется 2D и 3D анимация. И если 2D
анимация у Вас не вызывает особых вопросов значит Вы готовы к изучению
основ 3D анимации.
В
DirectX SDK Вы найдете примеры реализации различных видов анимации
- от 2D до 3D. 2D анимация и способ ее реализации показан в примере
игры из DirectX SDK 8.1 адаптированной автором на Delphi 6-7 - Donuts3D.
Ее можно с успехом применять для анимированных текстур (например
вода, небо, лава и т.п.) и 2D-объектов используемых в 3D-сцене.
Всё что требуется для создания 2D-анимации - это набор кадров и
их последовательное отображение.
От
программиста требуется только выборка нужных кадров из специально подготовленного
для этих целей изображения и показ их на экране в нужной последовательности
с нужной скоростью.
Ситуация
с 3D-анимацией несколько иная. В 3D анимации учавствует уже не плоское
изображение (хотя может учавствовать и оно), а трехмерная модель состоящая
из некоторого количества объектов - вершин, граней, примитивов. Также
как и в случае с 2D анимацией - мы имеем модель находящуюся в разных состояниях
во времени. Эти состояния - кадры (frames). Анимацию можно производить
непрерывно и постепенно меняя состояние нужного объекта в каждом кадре,
а можно и ограничиться так называемыми ключевыми кадрами (keyframes).
Ключевые
кадры - это положения задаваемые для модели аниматором, а все промежуточные
между ними кадры программа просчитывает сама используя линейную или другой
вид интерполяции.
Итак, любая анимация 3D модели - это трансформация (смещение, вращение,
масштабирование - Translate, Rotate, Scale) суб-объектов модели (вершин,
граней, примитивов). Условно можно выделить следующие виды анимации -
-
вершинная (или морфинг) - анимируются трансформации отдельных вершин.
-
объектная - модель создается как набор простых примитивов любой формы
и конфигурации, но таких чтобы каждый из них можно было анимировать простой
трансформацией - смещением, вращением, масштабированием. Таким образом
вершины модели разбиваются на логические группы - в виде отдельных составных
ее частей.
-
скелетная (Skinned Mesh) - относительно новый вид анимации (по крайней
мере для новичков в 3D-программировании) включает в себя концепцию использования
скелета. Суть ее заключается в том, что вся модель снова представляется
как единый меш (Mesh). Внутрь меша внедрена другая - более примитивная
модель называемая скелетом. Скелет состоит из отдельных примитивов называемых
костями (Bones). Каждая вершина привязана к определенной кости (костям).
Степень влияния отдельных костей на вершину называется весовым коэффициентом
(Weights), представляется числом с плавающей точкой (тип Single) и лежит
в диапазоне от 0 до 1. Сумма всех весов костей влияющих на данную вершину
должна составлять 1. Кости совершенно не влияющие на данную вершину имеют
весовой коэффициент для нее 0, влияющие >0. В Direct3D8 на вершину
не должно влиять более 4 костей, а на практике часто встречается влияние
только лишь одной кости. Анимируя скелет мы тем самым анимируем и связанные
с данными костями вершины.
Все
эти виды анимаций применяются в 3D-играх и имеют свои достоинства и недостатки.
Морфинг - этой самый простой вид анимации с точки зрения объема необходимых
вычислений. Но объем получаемых выходных файлов для анимации морфингом
слишком большой. Поэтому для сокращения объема применяют ряд оптимизаций
- уменьшение FPS (Frames Per Second) - частоты кадров, уменьшение количества
вершин модели и различные способы упаковки информации об анимации, применение
межкадровой интерполяции. Объектная анимация более удобна за счет сокращения
объема выходных данных, но требует большей работы с моделями и больше
вычислений. Скелетная анимация в свою очередь требует еще больше предварительной
работы над моделью и еще большего количества вычислений, но объем анимированной
модели значительно сокращается. Кроме того, скелетную анимацию можно использовать
не только для одной, но и для многих других подобных моделей, что еще
больше сокращает объем необходимых медиа-файлов игры.
Примеры
анимаций
Анимация
методом морфинга показана в DirectX SDK в примере приложения Dolphin.
Адаптированное для Delphi приложение представлено в базовых
уроках Delphi DirectX.
Примеры
объектной и скелетной анимации мы с Вами создадим на протяжении данной
статьи.
Создаем
анимированные модели
Сначала
поговорим о том, в какой формат будем экспортировать анимированную модель
из 3Ds Max.
Для
экспорта анимаций в произвольный формат можно воспользоваться возможностями
MAXScript языка встроенного в 3Ds Max или даже написать собственный плагин.
Но для этого Вам понадобится MAX SDK.
Если
будем экспортировать в формат X с использованием плагина из DirectX
SDK 9.0 - DXExtensionsMax.gup то столкнемся
с проблемой того, что объектная анимация экспортируется без проблем
(для Direct3D9), а вот скелетная - увы почему-то не поддерживается
(даже для Direct3D9!). Для анимации вершин нужно выводить каждый
кадр в отдельный файл, а затем все это оптимизировать и упаковывать
в один файл с анимированной цепочкой кадров.
Поэтому
для экспорта скелетной анимации придется писать свой плагин или
экспортер. Можно на первых порах воспользоваться и сторонними экспортерами,
например, Я нашел в Интернете экспортер PandaDXExport.
Этот экспортер устанавливается точно также как и DXExtensionsMax.gup
Но он требует очень аккуратного обращения. К сожалению отсутствует
исходник экспортера. Но это уже личное дело его автора, потому что
экспортер распространяется бесплатно! Подготовка моделей для экспорта
должна вестись очень аккуратно, иначе это приведет к нарушениям
в полученной экспортированной модели. Ниже Мы попытаемся разобраться
в проблемах экспорта с помощью PandaDXExport
и обойти возможные ошибки и сложности.
Для
экспериментов с экспортом Вам понадобится следующая модель - roboo
(60 Кб).
Это
просто "Шагающий двуног" - бокс с вычлененными при помощи
Bevel и Extrude двумя конечностями, с внедренным скелетом из двух
конечностей и базовой кости. Также содержатся объекты Dummy как
захваты для управления анимированием. О моделировании персонажей
будет рассказано в отдельных статьях посвященных урокам
по 3Ds Max.
Итак,
предположим, что Вы уже скачали архив roboo
и распаковали например, в папку SkinnedMeshExperim, установили плагин
PandaDXExport.
Откройте
файл roboo_anim_go.max из 3DS Max 7 (или выше) и попробуйте экспортировать
его командой File > Export > Panda DirectX (название этого пункта
будет зависеть от того, что вы пропишете в конфигурационном файле plugin.ini
в папке установленного 3Ds Max).
Когда
Вы введете подходящее имя и нажмете кнопку Save (Сохранить) перед Вами появится
окно параметров экспорта Панды. Задайте следующие параметры экспорта -
И
нажмите ОК. При этом модель должна благополучно экспортироваться в файл
X с именем, которое Вы указали.
Для
проверки результата экспорта можно воспользоваться утилитой MeshView из
DirectX SDK 8.1 или DirectX Viewer из DirectX SDK 9.
Кроме
того, поскольку целью нашего экспорта является использование анимаций
в Delphi DirectX 3D-игре, мы проверим проигрывание экспортированной
анимации в приложении SkinnedMesh.
(1,6 Mb).
Для
компиляции и исполнения Вам понадобятся файлы из архива с ОБЩИМ
КОДОМ (772 Кб). Замечания по компиляции и исполнению читайте в
readme.txt вложенный внутри данного архива!
В
папке архива SkinnedMesh
после распаковки вы найдете папку Media. В ней содержатся три примера
анимации - nx4.x, tiny.x и robooPDX.x.
robooPDX.x - то, что вы должны получить в процессе экспорта модели из
файла roboo_anim_go.max
Для
проверки данных анимированных моделей откройте файл проекта SkinnedMesh.dpr
из среды Delphi, откройте unit SkinnedMeshUnit.pas, в классе CMyD3DApplication
найдите реализацию функции InitDeviceObjects найдите строчку кода m_szPath
:= 'Media\tiny.x';
И
задайте другую модель из имеющихся - nx4.x или robooPDX.x
Перекомпилируйте
приложение и запустите полученный исполнимый файл. Если получаете ошибку
об отсутствии файла D3DX81ab.dll скопируйте этот файл из папки с ОБЩИМ
КОДОМ в папку с исполнимым файлом SkinnedMesh.exe и снова запустите приложение
SkinnedMesh.exe.
Roboo
экспортировался в Х без проблем. Остановимся теперь на экспорте более сложных,
но близких к реальным игровым приложениям примерах моделей.
Модели
должны быть очень аккуратно подготовлены к экспорту. Что это значит?
Это значит что любые огрехи в анимации или моделировании непременно
скажутся на качестве выходной модели если вообще не приведут к ее
порче. Чтобы продемонстрировать Вам неверный экспорт и ошибки скачайте
архив с некорректной моделью - uncorrect_model
(115 Кб).
Распакуйте
архив в какую-нибудь папку и откройте файл human_skeleton_animate_go.max
из 3Ds Max. Попробуйте экспортировать в формат X экспортером PandaDXExport.
Полученную
модель проверьте в приложении SkinnedMesh или утилитами MeshView из DirectX
SDK 8.1 или DirectX Viewer из DirectX SDK 9.
Налицо
сразу 3 ошибки - часть головы оторвана и движется вместе с рукой; периодически
мелькает нулевая позиция меша - с разведенными в стороны руками; отсутствует
текстура.
Корни
данной некорректной модели лежат в основе ее создания. Чтобы избежать создания
таких ошибок рассмотрим процесс подготовки модели и ее скелета более подробно.
Все секреты нейросетей.Оцифровка сознания книга, Ежемесячный журнал комиксов и инди-игр Мегаинформатик #2 (26) февраль 2026, Img Gen Megainformatic Img2Txt модуль распознавания изображений для Stable Diffusion WebUI Forge
читать
читать
скачать
Ежемесячный журнал комиксов и инди-игр Мегаинформатик #9 сентябрь 2025+, #1 (25) январь 2026, Img Gen Megainformatic - локальная Нейросеть для генерации изображений, Img Gen Megainformatic Log модуль для Forge версии 2024-Aug-10 - локальной Нейросети для генерации изображений
читать
читать
скачать
скачать
Ежемесячный журнал комиксов и инди-игр Мегаинформатик #12 декабрь 2025, комиксы: Веб-Мастер и Маргарита #14, Кыся #3 - комикс фэнтези, Твое будущее #1 - комикс
смотреть
читать
скачать
октрыть
Ежемесячный журнал комиксов и инди-игр Мегаинформатик #11 ноябрь 2025, комиксы: Сикс Икс Икс - Двойное дно (6xx) #14 - комикс 18+, Несравненная Рокси #1 - комикс 18+, Эмми город надежд #3 - комикс
смотреть
читать
скачать
скачать
комиксы, Ежемесячный журнал комиксов и инди-игр megainformatic.ru #10 октябрь 2025, #6 июнь 2025+ дополнение к основному номеру за июнь, Полное превращение #1 - комикс, #7 июль 2025+ дополнение к основному номеру за июль
смотреть
скачать/читать
читать
интересное
комиксы, Ежемесячный журнал комиксов и инди-игр megainformatic.ru #9 сентябрь 2025
смотреть
читать
смотреть
starcraft комикс
комиксы
смотреть
читать комикс
читать
читать
комиксы
читать
смотреть
читать
читать комикс
игра Fishka. Ежемесячный журнал комиксов и инди-игр megainformatic.ru #8 август 2025, другие комиксы
играть
читать
читать
комикс
ежемесячный журнал комиксов и инди-игр megainformatic.ru #6 июнь 2025 - специальный выпуск Квантум 28 страниц win/linux/android/html5/pdf полная версия скачать или запустить в браузере, игра lollypop 1994 времен ms-dos, ежемесячный журнал комиксов и инди-игр megainformatic.ru #5 май 2025+ 18+ дополнение к основному номеру. Все выпуски за 1 полугодие 2025 года в одном номере - #1 январь - #6 июнь 2025 108 страниц pdf/win/linux/android/html5
скачать
играть
читать
читать
ежемесячный журнал комиксов и инди-игр megainformatic.ru #5 май 2025 - выпуск 5, #6 июнь 2025 - выпуск 6, #4 апрель 2025 спец. выпуск GAME дополнение к апрельскому номеру - все комиксы по играм!, выпуск #7 июль 2025
скачать
читать
открыть
смотреть
журнал комиксов - приложение к журналу комиксов megainformatic.ru #1 январь 2025 - выпуск 1, журнал комиксов #4 апрель 2025, 18+ дополнение #3 к журналу март 2025, 18+ дополнение #2 к журналу февраль 2025
читать
журнал
18+ дополнение #3
18+ дополнение #2
игра, журналы комиксов - номера за 2025 год - январь 2025 - март 2025
играть
смотреть
читать
журнал
игры, сервисы
играть
играть
случайный сайт
играть
видео-рассказ, уроки godot, виртуальный помощник по поиску информации
играть
читать
купить
скачать
игры Многоликий: dress - hordes эпизоды с 1 по 4
играть
скачать
купить
купить
игры, музыкальные клипы
скачать
скачать
смотреть
скачать/играть
музыкальный клип, игры
смотреть
играть
скачать
скачать
разработка игр, анимационный фильм, новогодняя дискотека 2020 - песни на итальянском, игра про лифт
смотреть
смотреть
смотреть
смотреть
игры, инструменты разработки, анимационный фильм, фильм.
купить
смотреть
смотреть
скачать
игры
скачать
скачать
скачать
купить
игры в браузере
играть
играть
играть
играть
игры в браузере
играть
играть
играть
играть
игры в браузере
играть
играть
играть
играть
игры в браузере
играть
играть
играть
играть
игры в браузере (3), создание музыки в браузере (1)
играть
играть
играть
играть
игры в браузере
играть
играть
играть
играть
игры в браузере
играть
играть
бк 0010.01 - играть!
играть
игры в браузере
играть
играть
играть
играть
игры в браузере (3), скачиваемые (1)
играть
играть
играть
скачать
игры в браузере
играть
играть
играть
играть
игры в браузере, скачиваемые игры
играть
скачать
играть
играть
игры в браузере
играть
играть
играть
играть
игры в браузере
Foxyland 2
quidget 2
играть
играть
полезный софт, игры в браузере
скачать
anova игра
A Knots Story
sabotage
сервисы, игры
24500 руб.
скачать
игра
играть
игры, программы
купить / скачать
купить
5500 руб.
скачать
поздравления, уроки рисования, уроки создания сайтов
читать
читать
читать
150 руб.
комиксы, музыка, рассказы
читать
читать
слушать
читать
игра для разработки, калькулятор услуг, cms, комикс
250 руб.
разработка на заказ
1250 руб.
350 руб.
игры для разработки, комиксы
скачать
читать
читать
скачать
игры шарики и ямки, комиксы про Костю Коробкина, ria xxl игра, fly snow 3d генератор эффектов снега, частиц и др. -
скачать
читать
150 руб.
350 руб.
Создай свою игру на fle game engine -
800 руб.
240 руб./скачать
скачать
скачать
Для создания сайта - модуль отзывов/комментариев для вашего сайта в составе megainformatic cms express files -
700 руб.
1250 руб.
150 руб.
500 руб.
Уроки Flash, бесплатные Flash - игры.
бесплатно
бесплатно
2500 руб.
14000 руб.
Поддержка сайтом нескольких языков (multi lang), создание собственной системы личных кабинетов, соц. сети или фриланс - биржи (megainformatic cms social), создание сервиса коллективных покупок на базе megainformatic cms groupon, онлайн сервис подсчёта статистики ключевых слов в статьях вашего сайта keywords gen + описание кода данного сервиса, с возможностью бесплатно реализовать его аналог на своём собственном сайте.
500 руб.
12000 руб.
14000 руб.
бесплатно
megainformatic.ru/webjob/ - сервис для фриланс проектов
- место встречи заказчиков и исполнителей
megainformatic.ru/webjob/ - сервис для фриланс проектов
- место встречи заказчиков и исполнителей
Системы управления сайтом, уроки
1250 руб.
бесплатно
550 руб.
500 руб.
megainformatic cms admin - простая и компактная система
для работы и управления сайтом
350 руб.
5800 руб.
3000 руб.
500 руб.
megainformatic cms free и серия продуктов - Уроки Photoshop
бесплатно
650 руб.
700 руб.
750 руб.
Данная серия посвящена описанию приемов и методов создания изображений,
с помощью инструментария программы Adobe Photoshop. Кроме того, многие
описанные средства могут вам помочь при освоении и многих других программ
для работы с растровой графикой - GIMP, Corel Photo Paint и других.
бесплатные игры 2d и 3d, а также эмулятор Ну, Погоди!
300 руб.
бесплатно
бесплатно
бесплатно
Это серия распространяемых бесплатно игр. Вы не только можете поиграть,
но и скачать исходники, получив тем самым возможность внести изменения
в игру или создать новую !!! (эмулятор Ну, Погоди! распространяется платно).
серия игр про Веселого Буквоежку, и бесплатно распространяемая игра
Нечто: Необъяснимое - в плену желаний
350 руб.
510 руб.
fle game engine
бесплатно
Здесь представлены новинки жанра - Говорящий Комикс, Настольная игра,
А также продукт, который позволит Вам научиться создавать игры самостоятельно.
Ну и конечно изюминка в своём роде - бесплатная игра - Нечто: Необъяснимое
- в плену желаний
Серия бесплатных онлайн уроков, посвященных 3ds max, photoshop, c++,
directx, delphi и php.
бесплатно
бесплатно
бесплатно
бесплатно
бесплатно
бесплатно
500 руб.
300 руб.
Описаны практические примеры решения различных задач, возникающих при
создании игр и сайтов.
Продукты Набор разработчика и Ваше Визуальное Шоу распространяются платно.
уроки и продукты различной тематики
бесплатно
бесплатно
бесплатно
400 руб.
Бесплатные Уроки Photoshop free, Бесплатные Уроки по программированию
на delphi directx - Как создать игру Ну, Погоди!, Бесплатная Авторская
музыка в формате mp3 - Музыкальные Миры, Платно распространяемый продукт
megainformatic cms express - система для быстрого создания Вашего сайта
на php + my sql.
Проекты игр, уроки
450 руб.
бесплатно
бесплатно
бесплатно
Игра Веселый Буквоежка, уроки delphi directx 8.1 для начинающих (описываются
основы 3d игр), моделируем девушку в 3d studio max, уроки музыки - пишем
музыку в Fruity Loops Studio
megainformatic
cms express files - это простое, быстрое и очень компактное решение
для создания первого вашего сайта. НЕ ИСПОЛЬЗУЕТ базы данных mysql.
Вместо этого используются файловые базы данных. Поэтому Вы
можете использовать систему даже на хостинге с поддержкой php, но
без поддержки баз данных my sql.
Очень
проста в установке - достаточно вам скопировать все файлы на ваш
хостинг и сайт готов к работе !!!
В комплект входят 3 готовых шаблона, модули поиска и карты сайта,
а также статьи по основам создания сайта.