Приставки
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
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

static float aspectRatio;

static float FOV = MathHelper.PiOver4;

static float nearClip = 1.0f;

static float farClip = 1000.0f;

Рисуем модель на экране телевизора 289

Рис. 17.4. Страница компании Autodesk

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

Следующая переменная FOV призвана определять поле зрения. Здесь типичное значение равно MathHelper.PiOver4. Две оставшиеся переменные nearClip и farClip позволяют задать соответственно переднюю и заднюю области отсечения и участвуют в проекционных расчетах.

Затем в исходном коде у нас следует объявление объекта model класса Model, который будет представлять мячик в игре.

private Model model;

private Vector3 positionModel

Переменная ров1Ь1опМоОе1 необходима для выбора позиции модели на экране. В методе 1пз_г,1а11ге() мы задаем позицию модели в пространстве нулевыми значениями.

positionModel = new Vector3(0, 0, 0);

290 Загружаем в игру модель

Нулевые значения для позиции модели при нахождении камеры в центре экрана устанавливают модель четко в центр экрана. Помните, в главе 15 мы говорили о преобразовании системы координат модели в свою локальную, или объектную, систему координат. Так вот, используя в исходном коде три ранее созданные матрицы (мировую, видовую и проекционную), мы создадим для объекта свою локальную систему координат.

После этих действий все свои установки объектов на позиции в трехмерном мире вам придется вести относительно локальной системы координат объекта и позиции камеры (о которой мы поговорим позже в этой главе). Если камера стоит в центре экрана (X = 0 и У = 0, по оси Ъ камера либо приближается, либо удаляется от центра экрана) и у объекта нулевые координаты, то местоположение объекта всегда будет точно в центре телевизора (рис. 17.5).

Переходим в тело метода 1пз_г,1а11ге(). Здесь появляется новая запись, инициализирующая переменную аэресЬЯаЫо значением, равным делению половины ширины экрана на половину высоты экрана.

азреоГИаПо = (f1oat)screenWidth / (г1оаг-)зсгеепНе1дг1Г-;

Переходим к методу LoadGraphicsContent(). Строка кода по загрузке модели из рабочего каталога программы выглядит следующим образом:


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

Горяченькое

Друзья

Hosted by uCoz