- •Введение
- •Глава 1. Подготовка к изучению книги
- •Установка DirectX SDK
- •Выбор отладочных или рабочих версий библиотек
- •Настройка вашего компилятора
- •Установка директорий DirectX SDK
- •Привязывание к библиотекам DirectX
- •Установка используемого по умолчанию состояния символа
- •Использование вспомогательного кода книги
- •Использование вспомогательных объектов
- •Проверка вспомогательных функций
- •Двигаясь дальше по книге
- •Глава 2. Синхронизация анимации и движения
- •Использование движения, синхронизированного по времени
- •Считывание времени в Windows
- •Анимирование с использованием временных меток
- •Перемещение, синхронизированное со временем
- •Движение вдоль траекторий
- •Создание анализатора маршрутов .X файла
- •Создание внутриигровых кинематографических последовательностей
- •Посмотрите демонстрационные программы
- •TimedAnim
- •TimedMovement
- •Route
- •Cinematic
- •Глава 3. Использование формата файла .X
- •Работа с .X шаблонами и объектами данных
- •Определение шаблонов
- •Работа со стандартными шаблонами DirectX
- •Открытие .X файла
- •Перечисление объектов данных
- •Получение данных объекта
- •Создание класса .X анализатора
- •Загрузка мешей с использованием D3DX
- •Загрузка мешей, используя анализатор .X
- •Загрузка скелетных мешей
- •Загрузка анимации из .X
- •Загрузка специализированных данных из .X
- •Посмотрите демонстрационные программы
- •ParseFrame
- •Глава 4. Работа со скелетной анимацией
- •Начало скелетной анимации
- •Использование структур скелетов и иерархий костей
- •Использование скелетной структуры и скелетного меша
- •Загрузка иерархий из .X
- •Изменение положения костей
- •Обновление иерархии
- •Работа со скелетными мешами
- •Загрузка скелетных мешей из .X
- •Создание контейнера вторичного меша
- •Сопоставление костей фреймам
- •Обновление скелетного меша
- •Визуализация скелетных мешей
- •Глава 5. Использование скелетной анимации, основанной на ключевых кадрах
- •Использование наборов скелетных анимаций, основанных на ключевых кадрах
- •Использование ключей при анимации
- •Работа с четырьмя типами ключей
- •Считывание данных анимации из .X файлов
- •Прикрепление анимации к костям
- •Обновление анимации
- •Посмотрите демонстрационные программы
- •Глава 6. Комбинирование скелетных анимаций
- •Комбинирование скелетных анимаций
- •Соединение преобразований
- •Улучшение объектов скелетной анимации
- •Посмотрите демонстрационные программы
- •Глава 7. Создание кукольной анимации
- •Работа с физикой твердого тела
- •Создание твердого тела
- •Расположение и ориентирование твердых тел
- •Обработка движения твердых тел
- •Использование сил для создания движения
- •Соединение твердых тел с помощью пружин
- •Обеспечение обнаружения столкновений и ответной реакции
- •Создание систем кукольной анимации
- •Определение состояния твердого тела
- •Хранение костей
- •Создание класса управления куклой
- •Создание данных костей
- •Вычисление ограничивающего параллелепипеда кости
- •Установка сил
- •Объединение костей
- •Обработка столкновений
- •Восстановление соединений костей
- •Перестроение иерархии
- •Посмотрите демонстрационные программы
- •Глава 8. Работа с морфирующей анимацией
- •Морфинг в действии
- •Определение исходного и целевого меша
- •Морфинг мешей
- •Создание морфированного меша при помощи обработки
- •Визуализация морфированных мешей
- •Расчленение наборов
- •Создание морфирующего вершинного шейдера
- •Посмотрите демонстрационные программы
- •Глава 9. Использование морфирующей анимации, основанной на ключевых кадрах
- •Использование наборов морфируемой анимации
- •Создание шаблонов .X для морфируемой анимации
- •Загрузка данных морфируемой анимации
- •Визуализации морфированного меша
- •Получение данных морфируемого меша из альтернативных источников
- •Посмотрите демонстрационные программы
- •Глава 10. Комбинирование морфированных анимаций
- •Комбинирование морфированных анимаций
- •Использование базового меша в комбинированных морфированных анимациях
- •Вычисление разностей
- •Комбинирование разностей
- •Создание вершинных шейдеров комбинированного морфирования
- •Использование вершинного шейдера морфируемого комбинирования
- •Посмотрите демонстрационные программы
- •Глава 11. Морфируемая лицевая анимация
- •Основы лицевой анимации
- •Использование комбинированного морфирования
- •Использования фонем для речи
- •Создание лицевых мешей
- •Создание базового меша
- •Создание выражений лица
- •Создание мешей визем
- •Создание анимационных последовательностей
- •Создание последовательностей фонем
- •Использование анализатора файлов .X для последовательностей
- •Проигрывание лицевых последовательностей со звуком
- •Использование DirectShow для звука
- •Синхронизация анимации со звуком
- •Зацикливание воспроизведения звуков
- •Посмотрите демонстрационные программы
- •Глава 12. Использование частиц в анимации
- •Работа с частицами
- •Основы
- •Рисование частиц с помощью квадратных полигонов
- •Работа с точечными спрайтами
- •Улучшения визуализации частиц при помощи вершинных шейдеров
- •Оживление частиц
- •Передвижение частиц при помощи скорости
- •Использование интеллекта при обработке
- •Создание и уничтожение частиц
- •Управление частицами с помощью класса
- •Использование излучателей в проектах
- •Создание движков частиц в вершинных шейдерах
- •Посмотрите демонстрационные программы
- •Глава 13. Имитирование одежды и анимация мешей мягких тел
- •Имитация одежды в ваших проектах
- •Получение данных одежды из мешей
- •Приложение сил для создания движения
- •Воссоздание и визуализация меша одежды
- •Восстановление исходного меша
- •Добавление дополнительных пружин
- •Загрузка данных масс и пружин из .X файла
- •Создание анализатора .X данных одежды
- •Работа с обнаружением столкновений и реакцией на них
- •Определение объектов столкновений
- •Обнаружение и реакция на столкновения
- •Создание класса меша одежды
- •Использование мешей мягких тел
- •Восстановление мешей мягких тел
- •Посмотрите демонстрационные программы
- •Глава 14. Использование анимированных текстур
- •Использование анимации текстур в ваших проектах
- •Работа с преобразованиями текстур
- •Создание преобразования текстур
- •Установка матриц преобразования текстуры
- •Использование преобразования текстур в проектах
- •Использование файлов видео в качестве текстур
- •Импорт видео при помощи DirectShow
- •Создание специализированного фильтра
- •Работа со специализированным фильтром
- •Создание менеджера анимированных текстур
- •Окончание современной анимации
- •Веб-сайты
- •Рекомендуемые книги
- •DirectX 9.0 SDK
- •GoldWave Demo
- •Paint Shop Pro Trial Version
- •TrueSpace Demo
- •Microsoft Agent and LISET
- •Предметный указатель
456
Flipcode
http://www.flipcode.com
Еще один неизвестный сайт посвященный программированию. Здесь вы можете найти последние новости, посвященные программированию, общаться с другими пользователями и даже посмотреть галерею лучших картинок дня (image of the day). Когда вы будете на этом сайте, обязательно посмотрите ссылки Kurt'а на некоторые интересные научные разработки и инновации!
Chris Hecker and Jeff Lander Physics
Chris Hecker: http://www.d6.com/users/checker
Jeff Lander: http://www.darwin3d.com
Целью этой книги было помочь вам в короткие сроки научится создавать привлекательные эффекты анимации. Я признаю, что иногда я немного небрежно относился к физике, но целью было показать вам, как можно достичь тех или иных эффектов. Для получения дополнительной информации я рекомендую вам изучить статьи или демонстрационные программы Chris Hecker или Jeff Lander, посвященные использованию физики в играх.
Рекомендуемые книги
Каждый великий программист имеет собственный набор используемых книг. Я не являюсь исключением, поэтому предлагаю вашему вниманию обзор книг, которые тематически пересекаются с моей книгой.
ProgrammingRolePlayingGameswithDirectX byJimAdams(PremierPress, 2002)
ISBN: 1-931841-09-8
Еще одна безобразная реклама меня! На самом деле моя книга по программированию ролевых игр является великолепным пособием тем, кто хочет делать игры с нуля. Эта книга не ограничивается созданием ролевых игр, она показывает ключевые компоненты, используемые в игровом движке, такие как графический октантный движок, управление персонажем и инвентарем. Она также показывает, как создать ядро библиотек, существенно упрощающих разработку игровых проектов.
Ссылкинакнигиисайты
FocusOn3DModels
byEvanPipho(PremierPress,2002)
ISBN: 1-59200-033-9
Масло моего Хлеба, Рахат моего Лукума - эта книга является путеводителем по основным форматам трехмерных моделей, используемых в современных играх. Эта книга является отличным помощником тем, кто хочет использовать не только форматы файлов .X, .MD2 и .MS3D, описанные в этой книге.
Real-TimeRenderingTricksandTechniquesinDirectX byKellyDempski(PremierPress,2002)
ISBN: 1-931841-27-6
Kelly Dempski показывает как перейти к некоторым продвинутым методам визуализации, например вершинным шейдерам, для получения замечательных эффектов. Эта книга пригодится вам, если вы начинаете изучать вершинные и пиксельные шейдеры, она также содержит разделы, посвященные улучшению игр.
Direct3DShaderX:VertexandPixelShaderTipsandTricks
byWolfgangF.Engel(Wordware,2002)
ISBN: 1-556220-41-3
Это еще одна замечательная книга об использовании пиксельных и вершинных шейдеров. Она поможет вам улучшить графику, используя такие эффекты как пузырьковая визуализация и волны на воде. Применяя технологии, описанные в книге, вы можете создавать привлекательные анимационные эффекты!
Приложение Б
Содержимое компакт-диска
Вы прочитали книгу, теперь пришло время посмотреть программное обеспечение! Компакт-диск этой книги содержит исходный код каждой демонстрационной программы, о которой упоминалось в книге, и, кроме того, полезные утилиты и приложения, используемые для создания эффектов, упоминаемых в книге.
Если вы еще этого не сделали, я рекомендую вам распечатать компакт-диск и вставить его в привод для чтения компакт-дисков. Если автозапуск (autorun) разрешен, вы увидите интерфейс, с которым будете работать при изучении содержимого компакт-диска. Если автозапуск запрещен, вы можете запустить интерфейс, выполнив следующие шаги:
1.Вставьте компакт-диск в устройство для чтения компакт-дисков.
2.Правой кнопкой щелкните на My Computer (Мой компьютер) и в появившемся меню выберите Open (Открыть).
3.Щелкните на устройство для чтения компакт-дисков в списке устройств.
4.В списке содержимого компакт-диска дважды щелкните на файле Start_Here.html. После прочтения лицензионного соглашения нажмите I Agree (Я согласен), если вы принимаете условия (или I Disagree (я не согласен), чтобы выйти из интерфейса).
Если вы приняли лицензионной соглашение и щелкнули кнопку I Agree, вы увидите пользовательский интерфейс Premier Press. Из него вы можете просматривать содержимое компакт-диска или инсталлировать приложения. Вот список приложений, находящихся на компакт-диске.
Содержимое компакт-диска
DirectX 9.0 SDK
Основным приложением является DirectX 9 SDK корпорации Microsoft. Первым делом вы должны установить SDK, т. к. он используется на протяжении всей книги. Для получения помощи в установке DirectX 9.0 SDK проконсультируйтесь с главой 1 "Подготовка к изучению книги".
GoldWave Demo
Все звуковые файлы, которые используются в этой книге, были созданы с помощью GoldWave - небольшой программы редактирования звуков. Эта небольшая программа, созданная GoldWave Inc., позволяет одновременно работать с несколькими звуками. Вы не найдете другой программы, в которой бы запись, воспроизведение иизменение звуков происходили так легко, как в этой. С помощью GoldWave вы можете:
•Редактировать звуковые файлы размером до 1Гб;
•В реальном времени просматривать амплитуды, спектры и т. д. звуковых файлов;
•Осуществлять быструю навигацию, используя средства быстрой прокрутки вперед и назад;
•Сохранять и загружать файлы, сохраненные во множестве форматов, как
.WAV, .AU, .МР3, .OGG, .AIFF, .VOX, .MAT, .SND и .VOC;
Выделять кусочки звука при помощи мыши.
Paint Shop Pro Trial Version
Бюджетное решение для редактирования изображений. Используя Paint Shop Pro, вы можете редактировать изображения, как профессионалы, не платя при этом! Эта 30-дневная версия программы редактирования изображений фирмы Jasc позволяет вам открывать множество графических форматов, работать с несколькими слоями, использовать плагины и ретушировать изображения.