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

Подсказка

Как уже говорилось выше, кватернионы в последнее время стали очень популярным способом представления ориентации объектов в 3D. Я настоятельно рекомендую вам после прочтения этой книги изучить кватернионы. Хотя связанная с ними математика довольно замысловата, они могут быть очень полезны.

Реализация твердых тел в 3D

Наконец, мы добрались до этапа создания класса, который будет представлять твердые тела в 3D. После всего, что мы уже сделали, это будет несложно.

Замечание

Код примера программы из этой главы есть на компакт-диске в папке Source \ChapterO 9\RigidBody.

Класс d3d_rigid_body

Для моделирования твердого тела нужны переменные для хранения, например, массы, местоположения, скорости и суммарной действующей на него силы. Нам также понадобятся переменные для хранения вращательных величин.

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

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

Замечание

Определение класса твердого тела содержится в файле PMRigidBody. h в папке Source\Chapter09\RigidBody.

В листинге 9.1 приведено определение класса твердого тела - d3d rigid_body.






Новости
Список персонажей SoulCalibur 6 пополнил Вольдо
В Сети появился новый трейлер SoulCalibur 6, посвящённый Вольдо — он пополнил список персонажей, которые будут доступны в день релиза игры.
Анонсирован скорый выход обновления «Ночная жизнь» в GTA Online
Компания Rockstar представила трейлер обновления «Ночная жизнь» для GTA Online.