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

в массиве, объявленном в начале файла TigerToss. срр. Вот как выглядит объявление этого массива:

#define TOTAL_TIGERS 3 rigid_body allTigers[TOTAL_TIGERS];

Переменная allTigers - это просто массив объектов типа ri-gid_body. Константа TOTAL_T I GERS объявлена, чтобы было проще перебирать объекты в массиве.

В строках 35-36 задаются значения вращательной инерции тигра по осям х, у и z. Я использовал формулы из рисунка 9.9 в главе 9, чтобы вычислить эти значения. Тигр рассматривался как цилиндр массой 100 кг (220 фунтов) и длиной 2 м (6 футов 6 дюймов).

Замечание

Это, вероятно, маловато для взрослого тигра, но эти числа упрощают расчеты по формулам.

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

Задав моменты, функция Gamelnitialization () задает силу, действующую на первого тигра. Это делается в строках 39-47. Затем задаются масса тигра, радиус ограничивающей сферы и коэффициент восстановления. У этого тигра он равен 0.9.

В строке 59 листинга 10.1 вся информация из первого объекта копируется в два других объекта. Это позволяет не инициализировать все одинаковые свойства каждого объекта по отдельности.

В строках 62-73 задаются характеристики второго тигра. Обратите внимание, что второй тигр полностью эластичен - коэффициент восстановления у него равен 1.0.

Характеристики последнего тигра задаются в строках 76-87. У этого тигра коэффициент восстановления равен всего лишь 0.5 - он не слишком упруг по сравнению с двумя другими.

ОБНАРУЖЕНИЕ И ОБРАБОТКА СТОЛКНОВЕНИЙ

В программе Tiger Toss столкновения обрабатываются функциями UpdateFrame () и HandleOverlapping (), расположенными в файле TigerToss. срр. Но прежде чем мы разберемся с этими функциями, посмотрим на некоторые части кода, от которых зависят эти функции (см. листинг 10.2).

Новости
Геймеры собирают деньги на помощь русским сиротам
Сервис Humble Store и компания Tripwire Interactive поддержат организацию Change30. Британцы предоставляют помощь русским сиротам.
Слух: На E3 2018 покажут Cyberpunk 2077
Крупное польское видеоигровое издание GRYOnline сообщило о том, что, согласно их собственным источникам в компании, CD Projekt Red готовит к E3 2018 новый трейлер Cyberpunk 2077.