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

Ограничивающие цилиндры

Вместо сфер можно ограничивать объекты некоторыми более сложными фигурами. Ограничивающие цилиндры очень удобно применять в играх, когда большинство объектов не изменяет свою ориентацию относительно определенной поверхности. Хорошие примеры таких игр - Doom и похожие на него стрелялки, в которых большинство персонажей не пригибается, даже оказавшись под ураганным огнем. Все персонажи сохраняют постоянную ориентацию относительно пола. На рисунке 8.6 показано применение ограничивающего цилиндра.

Чтобы обнаружить столкновения, нужно проверять пересечения верхнего и нижнего срезов цилиндра, а не только его боковой поверхности. Первый шаг к реализации такого подхода - добавление элементов данных, нужных для хранения размеров цилиндра, в класс d3d_point_mass. На рисунке 8.7 показаны эти размеры относительно местоположения объекта.

Чтобы выяснить, столкнулись ли два цилиндра, нужно выполнить два действия. Предположим для начала, что цилиндры всегда ориентированы так, как показано на рисунке 8.6 и 8.7. Это позволит нам превратить задачу из трехмерной практически в двумерную. Радиус ограничивающих цилиндров будет всегда лежать в плоскости xz. Поэтому первый шаг - рассматривать цилиндры как окружности в плоскости xz. Найдем

Новости
«Мясной» экшен Redeemer: Enhanced Edition задержится до осени
Издательство «Бука» и студия Sobaka объявили о том, что кровавый экшен Redeemer: Enhanced Edition, ранее запланированный к выходу в августе, был отложен на осень.
Steam-версия Orwell бесплатна до завтра
Игру можно забрать в течение суток, получив ключ для активации в Steam.