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

ДЕРЕВЬЯ ОГРАНИЧИВАЮЩИХ ПОВЕРХНОСТЕЙ

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

На рисунке 10.3 показан тигр, ограниченный несколькими прямоугольниками, а не одним, как раньше.

На рисунке 10.3 используется шесть ограничивающих блоков прямоугольной формы. Во-первых, весь тигр целиком заключен в ограничивающий блок, как и на рисунке 10.1. Этот блок выделен серой рамкой и обозначен цифрой 6. Столкновение с этим блоком означает, что столкновение с тигром возможно, хотя и не обязательно. Возможно, имел место случай, аналогичный показанному на рисунке 10.2.

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

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

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

Новости
Разработчики Theme Hospital создают новую игру Two Point Hospital
Осенью должен состояться выход нового игрового проекта Two Point Hospital, над которым работают создатели симулятора Theme Hospital.
Геймеры собирают деньги на помощь русским сиротам
Сервис Humble Store и компания Tripwire Interactive поддержат организацию Change30. Британцы предоставляют помощь русским сиротам.