Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DirectX. Продвинутая Анимация (2004) [rus].pdf
Скачиваний:
335
Добавлен:
16.08.2013
Размер:
8.39 Mб
Скачать

Синхронизация анимации идвижения

77

димо просто нарисовать траекторию движения камеры. Совместив ее с полностью вычисленной заранее анимацией, вы получите полноценный игровой кинематографический движок!

Рис. 2.8. Также как и в кино, камера следует заранее определенной траектории, показывая вычисленную заранее анимацию с различных углов. Углы определяются установкой траектории для камеры и прицела камеры (направление взгляда камеры)

Вместо того чтобы рассматривать заново все, что вы видели в этой главе, я порекомендую вам самостоятельно посмотреть демонстрационную программу Cinematic, которая иллюстрирует небольшой кинематографический пример. Она просто загружает последовательность ключевых точек ( используя анализатор траекторий .X файла), которые являются траекторией следования камеры. Расположение камеры пересчитывается каждый кадр, используя ключевые точки, совместно с изменением ориентации смотрового окна.

Посмотрите демонстрационные программы

Эта глава познакомила вас с анимацией, основанной на синхронизации по времени, используя структуры ключевых кадров с движением вдоль траекторий и маршрутов во времени. На компакт-диске вы найдете демонстрационные

78

Глава2

программы, которые иллюстрируют то, что вы прочитали в данной главе. Для точной информации о расположении этих программ посмотрите конец этой главы. В следующих нескольких разделах содержится описание работы демонстрационных программ.

TimedAnim

Демонстрационная программа TimedAnim, показанная на рис. 2.9, иллюстрирует использование анимирования объектов (таких как робот) с использованием ключевых кадров. Эта демонстрационная программа выполняется, пока вы ее не закроете.

Рис. 2.9. Анимация на основе ключевых кадров в действии! Робот двигается и вращается в соответствии с преобразованиями ключевых кадров, заданными в программе

TimedMovement

Синхронизированное движение настолько же важно, насколько, синхронизированная анимация и TimedDemo показывают вам, как его использовать. Рис. 2.10 иллюстрирует работу демонстрационной программы TimedMovement в действии. Она выполняется, пока вы не закроете ее.

Синхронизация

анимации

и

движения

79

Демонстрационная программа TimedMovement (как и следующие далее Route и Cinematic) показывает, как определять направления движения объектов, используя для этого вектор, в направлении которого объект двигался в предыдущее обновление. Используя этот вектор движения, вы можете вычислить угол для указания правильного направления перемещения.

Рис. 2.10. Демонстрационная программа TimedMovement показывает, как двигать набор роботов по прямолинейным и криволинейным траекториям со временем

Route

Демонстрационная программа Route (показанная на рис. 2.11) иллюстрирует применение последовательности прямолинейных и криволинейных траекторий для создании сложного маршрута, вдоль которого вы можете передвигать ваш объект. Это программа выполняется, пока вы не выйдете из нее.

80

Глава2

Рис. 2.11. Управляйте вашим роботом, задав ему сложный маршрут движения для перемещения в ваших мирах. В этом примере демонстрируется использование прямолинейных и криволинейных траекторий

Cinematic

Замыкает список демонстрационных программ, используемых в этой главе, Cinematics. Как показано на рис. 2.12, вы можете использовать сложные маршруты для перемещения камеры по трехмерному миру в реальном времени. Эта техника перемещения камеры великолепно подходит для создания системы игровой кинематографии.

Программы на компакт-диске

Компакт-диск содержит четыре демонстрационные программы, которые иллюстрируют технологии анимации, изученные вами в этой главе. Вот краткий обзор этих четырех программ, расположенных в директории "Chapter 2" прилагаемого диска:

Синхронизацияанимацииидвижения

81

Рис. 2.12. Демонстрационный пример Cinematic добавляетдвижение камеры к программе Route

TimedAnim. Эта программа иллюстрирует анимацию на основе времени, используя ключевые кадры. Она расположена в \BookCode\Chap02\TimedAnim.

TimedMovement. Эта демонстрационная программа иллюстрирует использование прямолинейных и криволинейных траекторий для перемещения ваших объектов по трехмерному миру. Она расположена в \BookCode\Chap02\TimedMovement.

Route. Эта демонстрационная программа иллюстрирует использование анализатора маршрутов для постепенного передвижения объектов по маршруту. Она расположена в \BookCode\Chap02\Route.

Cinematic. Это пример игровой кинематографической последовательности, включающий камеру, следующую по маршруту, и вычисленную заранее анимацию. Он расположен в \BookCode\Chap02\Cinematic.

Соседние файлы в предмете Программирование на C++