Главная » Программирование игр под Android » ОПРЕДЕЛЕНИЕ СТОЛКНОВЕНИЙ И ПРЕДСТАВЛЕНИЕ ОБЪЕКТОВ В 3D – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

0

 

Мы обсудили отношение между представлением объектов и определением столкновений. Мы постараемся сделать объекты нашего игрового мира как можно более независимыми от их графического представления. Вместо этого мы хотели бы определить их, описав их ограничивающую фигуру, позицию и ориентацию. Позиция и ориентация не являются серьезной проблемой: мы можем представить позицию как экземпляр класса Vector3, а ориентацию – как поворот вокруг осей х, у и z. Рассмотрим ограничивающие фигуры подробнее.

Ограничивающие фигуры в 3D

Для работы с ограничивающими фигурами у нас есть множество вариантов. Рисунок 11.12 демонстрирует наиболее популярные ограничивающие фигуры в 3D -программировании.

Рис. 11.12. Различные ограничивающие фигуры: сеть треугольников (слева), ограничивающий параллелепипед (в центре), выровненный по координатным осям, ограничивающая сфера (справа)

Сеть треугольников. Наиболее близко прилегает к объекту. Однако столкновение двух объектов, использующих сети треугольников, довольно долго рассчитывается.

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

Ограничивающая сфера. Объект в ней чувствует себя еще более свободно. Это наиболее быстрый способ определить столкновения.

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

Источник: Mario Zechner / Марио Цехнер, «Программирование игр под Android», пер. Егор Сидорович, Евгений Зазноба, Издательство «Питер»

По теме:

  • Комментарии