Приставки
Nintendo (Dendy)
Nintendo 64
Sega Genesis
Sega CD / 32x
Master System
Super Nintendo
Turbo Grafx 16
Sega Saturn
Sony PlayStation
GameBoy Advance
GameBoy / Color
Game Gear
Atari
Другие

Утилиты
Системные утилиты
GoodXXXX
Sega CD / 32x
Nintendo 64
Переводы, хакинг
Музыка

Мир приставочных игр

Версия 2.00a

Leonis © 2002-2009
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

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;


Предыдущая Следующая

Горяченькое

Друзья

Hosted by uCoz