Предыдущая Следующая
18.1.1. Механизм загрузки модели в игру
Алгоритм по загрузке модели в игру достаточно простой. Первым делом необходимо явно загрузить в проект модель и все текстуры к этой модели, если таковые имеются. Название текстур и текстурные координаты для одной конкретной модели прописываются во внутренних свойствах модели. Поэтому некоторые текстуры могут быть жестко привязаны к папке с определенным названием. Здесь все зависит от модельера, которые делал эту модель.
Например, в Starter Kit Spacewar студии XNA Game Studio Express для всех моделей задан каталог Models, а для текстур этих моделей определена папка Textures. В соответствии с этим, если вы используете в своих проектах графику из Starter Kit Spacewar, модели и текстуры у вас должны располагаться в папках с точно такими названиями. Если изменить базовое местонахождение моделей или текстур, то в момент компиляции программы студия разработки игр выдаст вам ошибку, из контекста которой будет следовать, что компилятор не нашел того или иного графического компонента.
Определившись с расположением модели в проекте, нужно объявить и создать объект системного класса Model, затем загрузить в него модель из файла и
280 Загружаем в игру модель
Рисуем модель на экране монитора 281
Рис. 18.3. Модель мячика, взятая с сайта Turbosquid.com
Рис. 18.4. Страница компании Autodesk
нарисовать ее на экране. Сейчас давайте попрактикуемся и перейдем к рассмотрению исходного кода нового проекта LoadingModel, направленного на загрузку модели в игру и вывод ее на экран. Исходный код всего проекта находится на компакт-диске в папке Code\Chapter18\ LoadingModel.
Отправной точкой для нового проекта у нас, как всегда, является предыдущий проект, поэтому возьмите последний исходный код класса Gamel и приступайте к его модификации. Именно в классе Gamel на этом этапе работ развернутся все боевые действия. Начнем с того, что в области глобальных переменных класса Gamel объявим три матрицы.
Matrix world; Matrix view; Matrix proj;
Как видно из названий матриц, это те самые три матрицы (мировая, видовая и проекционная), используемые для представления объектов в трехмерном пространстве. Дополнительно структура Matrix в XNA Framework имеет большой набор встроенных методов, с помощью которых можно выполнить любые матричные преобразования.
Далее в области глобальных переменных класса Gamel создаются четыре новые переменные.
static float aspectRatio;
static float FOV = MathHelper.PiOver4; Предыдущая Следующая
|