Формат файла Microsoft .X является не единственным, используемым для хранения данных мешей и анимаций. Есть еще два формата, сравнимые с ним по простоте использования, которые являются замечательными для хранения данных мешей и анимаций, - форматы chUmbaLum sOft's Milkshape 3D .MS3D и id Software's Quake 2 .MD2.
Формат файла Milkshape .MS3D похож на двоичный .X, за исключением того, что файл .MD3D хранит только один меш и иерархию костей. На самом деле, формат .MS3D является очень простым, т. к. не использует шаблоны; вместо этого в файле хранится заранее определенная последовательность структур.
Формат файла Quake 2 .MD2 является простым набором мешей, помещенных в один файл. Каждый меш представляет собой один кадр анимации из последовательности ее наборов. В то время как файлы .MS3D содержат скелетные анимации, формат .MD2 содержит только наборы морфируемых анимаций.
Замечание. Морфированная анимация мешей является еще одной привлекательной темой, освещенной в книге, так что я просто указал на двойственность программы MeshConv. Пока что просто игнорируйте любые упоминания морфированной анимации и вернитесь к теме: преобразование наборов скелетных анимаций, основанных на ключевых кадрах из .MS3D в .X.
Итак, для скелетных анимаций вы можете использовать файлы .MS3D, а для морфируемых анимаций .MD2. Как же конкретно их использовать? Существует множество информации об этих форматах. Посмотрите книжку Focus On 3D Models (Premier Press, 2002) или веб-сайты http://www.gamedev.net или http://nehe.gamedev.net.
Компакт-диск содержит программу MeshConv, которую вы можете использовать для преобразования файлов .MS3D и .MD2 в .X. После запуска программы вы увидите диалоговое окно MeshConv, показанное на рис. 5.2.
Не дайте неказистости кнопок в программе MeshConv напугать вас - она конвертирует все файлы .MS3D и .MD2 files в .X, используя шаблоны, виденные вами в этой главе. Файлы .MS3D сохраняются, используя иерархию фреймов и один объект AnimationSet, в то время как файлы .MD2 сохраняются, используя набор объектов Mesh и MorphAnimationSet, которые хранят названия мешей, используемых для морфированной анимации.

Рис. 5.2. Диалоговое окно MeshConv содержит две кнопки, щелкнув на которые вы можете преобразовать файлы .MS3D и .MD2 в .X
Замечание. На компакт-диске содержится полностью комментированный исходный код программы MeshConv. Читайте конец этой главы, чтобы подробнее узнать о программах и их местоположениях.
Для преобразования файла (.MS3D или .MD2) в .X файл щелкните по соответствующей кнопке в диалоговом окне MeshConv. Появится диалоговое окно "Open File". Это диалоговое окно позволяет вам перемещаться по директориям для указания расположения конвертируемого файла. Выберете необходимый для конвертации файл и нажмите "Open".
Появится диалоговое окно "Save .X File". Вы можете использовать его для указания имени и положения файла, в котором вы хотите сохранить данные мешей и анимации. Введите имя файла и нажмите "Save". Через некоторое время вы должны увидеть окно сообщений, говорящее о том, что преобразование было выполнено успешно.
Теперь вы готовы использовать .X файлы при помощи классов, разработанных ранее в этой главе, для загрузки наборов скелетной или морфируемой анимации. Набор скелетных анимаций использует один исходный меш, деформируемый (shaped) иерархией костей; для получения дополнительной информации об использовании скелетных мешей читайте эту главу и главу 2.
Для морфируемых анимаций (из .MD2) используется последовательность объектов Mesh, содержащих все цели морфирования меша из исходного файла. Всего один объект MorphAnimationSet поможет вам загрузить данные анимации в ваш проект, используя ранее изученные классы и технологии.
В качестве примера работы с конвертированным, при использовании программы MeshConv, .X файлом смотрите демонстрационные программы, включенные в эту главу. Вы правильно поняли - программы BoneAnim и MorphAnim используют конвертированные файлы .MS3D и .MD2 для иллюстрирования скелетной и морфируе-мой анимации. Посмотрите их и получайте удовольствие!
Посмотрите демонстрационные программы
В этой главе вы научились загружать наборы анимаций и использовать их данные для анимирования мешей. Для лучшего иллюстрирования этих концепций анимации я создал программу (SkeletalAnim), которая показывает вашу любимую даму скелетной анимации, Microsoft's Tiny (из примеров DirectX SDK), делающую то, что она может лучше всего, - ходящую! При запуске приложения вы увидите что-то подобное изображенному на рис. 5.3.

Рис. 5.3. Двигающаяся Tiny в демонстрационной программе SkeletalAnim! Эта программа иллюстрирует использование анимированных скелетных мешей
Программы на компакт-диске
В директории главы 5 компакт-диска этой книги вы найдете следующие две демонстрационные программы, которые вы можете использовать в своих проектах:
• MeshConv. Вы можете использовать эту полезную программу для преобразования файлов .MS3D и .MD2 в .X. Она расположена в \BookCode\Chap05\MeshConv.
• SkeletalAnim. Эта программа показывает, как считывать и использовать скелетную анимацию, основанную на ключевых кадрах. Она расположена в ВоокCode\Chap05\SkeletalAnim.
Глава 6
⇐Обновление анимации || Оглавление || Комбинирование скелетных анимаций⇒