Конгер Д.
Физика для разработчиков компьютерных игр
стр. 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. Этот метод использует векторы ориентации самолета, чтобы определить местоположение камеры. Он помещает камеру сзади и немного выше самолета. Затем метод направляет камеру на центр масс самолета.

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



Новости
В PUBG вышла новая карта «Санок»
Bluehole не один месяц тестировала третью карту для PUBG, и сегодня тропическая миниатюрная карта «Санок» наконец-то вышла на общих серверах.
В Warface добавили режим «Королевская битва 2.0»
В Warface разработчики добавили режим «Королевская битва 2.0». Старая версия доработана, количество игроков увеличено с 16 до 32.