Конгер Д.
Физика для разработчиков компьютерных игр
стр. 449

Листинг 16.3 начинается с метода SetupGeometry (). Этот метод инициализирует трехмерное окружение, в котором будет двигаться самолет. Он также загружает модель самолета. Как и в примерах программ из предыдущих глав, в этом примере нет обработки ошибок. Это позволяет максимально упростить код. В реальных программах обязательно нужно предусмотреть обработку ошибок.

После того, как метод SetupGeometry () загрузит элементы сцены и самолет, он задает свойства самолета. В строках 12-13 метод задает направление, в котором ориентирована сетчатая модель самолета при загрузке. Направление «вверх» самолета задается в строках 14-15. Эта инициализация должна быть выполнена, чтобы класс basic_f Iyer правильно работал.

В строках 16-58 листинга 16.3 метод SetupGeometry () инициализирует основные физические параметры, необходимые для моделирования движения. Он не прикладывает к самолету никаких сил. Операторы в строках 24-28 разворачивают самолет в сторону от наблюдателя. В строках 31-32 задается скорость самолета.

Метод SetViewPoint () начинается в строке 35 листинга 16.3. Этот метод использует векторы ориентации самолета, чтобы определить местоположение камеры. Он помещает камеру сзади и немного выше самолета. Затем метод направляет камеру на центр масс самолета.

Вы, возможно, удивитесь, почему камера размещается немного выше самолета. Такое размещение камеры позволяет игроку лучше видеть самолет. Если бы камера была прямо сзади самолета, игрок видел бы только его хвост и крылья - большая часть фюзеляжа была бы не видна.



Новости
Новый ролик Fallout 76 посвятили совместной работе
Компания Bethesda опубликовала новый ролик Fallout 76, продолжающий серию обучающих видео «Время приключений».
Battle for Azeroth: до 120-го уровня добрались за пять часов
Первый в мире игрок 120-го уровня появился уже через четыре с лишним часа после открытия аддона.