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

0

 

Мы разработали очень простую физическую модель в 2D. Хорошие новости – в 3D все работает точно так же.

Позиции теперь являются 3D -векторами вместо 20-векторов. Мы просто добавили координату г.

Скорости по-прежнему представляются метрами в секунду для каждой оси. Мы просто добавляем еще один компонент для оси z.

Ускорения все так же представляются метрами на секунду в квадрате для каждой оси. Опять же, мы просто добавляем еще одну координату. Псевдокод, описывающий эмуляцию физики, который мы рассматривали в главе 8, выглядит следующим образом:

Мы можем преобразовать его так, чтобы он мог использоваться в трехмерном пространстве, просто заменив экземпляры класса Vector2 на экземпляры класса.

Больше ничего делать не следует. Эта простая физическая модель подходит для множества трехмерных игр. В последней игре этой и мы даже не будем использовать ускорение из-за природы объектов этой игры.

Более сложную физику в 3D (и 2D), безусловно, сложнее реализовать. Для этой цели вы можете использовать сторонние библиотеки вместо того, чтобы заново изобретать велосипед самостоятельно.

Проблема ОС Android заключается в том, что решения, основанные на Java, будут слишком медленными из-за огромного количества вычислений, которые они производят. Существуют некоторые решения для физики в 2D на ОС Android, которые используют С++ библиотеки вроде Box2D с помощью Java Native Interface (JNI), предоставляя API для приложения на Java. Для физики в 3D есть библиотека, которая называется Bui 1 et. Однако для этой библиотеки пока не существует готовых к использованию привязок JNI. Мы не будем рассматривать эти темы в е, поскольку они достаточно далеки от ее цели, во многих случаях нам не понадобится такая сложная физическая модель.

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

По теме:

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