Страницы

четверг, 20 декабря 2012 г.

Обзор 2D движка физики - Nape

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


     Nape существует в 3 различных типах сборки:
Данную сборку необходимо использовать во время разработки игр. Эта сборка содержит дополнительную логику, которая проверяет правильность использования API Nape, и неоценима в сокращении времени разработки.

Сборка финальной версий удаляет все проверки API, чтобы выжать максимум производительности из этого движка. Используется при завершении проекта или проверке максимальной производительности.

Этот тип сборки очень медленный, он используется для нахождения ошибок внутри Nape. Используйте этот тип сборки, если чувствуете, что нашли ошибку в Nape.

      Тут можно посмотреть возможности Nape.

      Все физические движки, включая Nape оперируют такими понятиями, как: масса, момент инерции, сила, вращающий момент, плотность, импульсы. Nape использует пиксели для расстояний, в отличии от движка Box2D, который использует метры.Также Nape использует единицы СИ: секунды для времени, килограммы для веса, радианы для углов (по часовой стрелке, ось-y направлена вниз). Другие физические показатели имеют аналогичную форму, например - скорость (velocity) измеряется в пикселях/секунду, единственное исключение - плотность (density) - измеряется в граммах/пиксель/пиксель, для того чтобы сохранить разумность значений (например, коробка (box) 100 на 100 пикселей с плотностью 1 будет иметь массу 10кг).

      В физических движках используют такое понятие как засыпание/просыпание объекта. Когда объект спит, расчет физики для него отключается, что уменьшает нагрузку на процессор. В Nape засыпание/просыпание для объектов происходит автоматически.
     
       Nape разделен на следующие пакеты:

  • nape - высокоуровневый пакет
  • nape.callbacks - объекты относящиеся к системе обратного вызова, такие как CbType и InteractionListener.
  • nape.constraint - физические объединения, такие как WeldJoint и LineJpint
  • nape.dynamics - объекты которые относятся к динамическим взаимодействиям, такие как Arbiter и Contact
  • nape.geom - геометрические объекты, такие как Vec2 и Mat23, а также геометрические утилиты, доступные через Geom и GeomPoly
  • nape.phys - физические объекты, такие как тела (Body), составные объекты (Compound) и материалы (Materials), которые определяют физические свойства.
  • nape.shape - физические фигуры: Окружность (Circle), Многоугольник (Polygon) и др.
  • nape.space - содержит объект пространства (Space), которое отвечает за управление моделированием и связью объектов
  • nape.util - содержит утилиты рисования отладки и др.

      Документацию по API Nape можно прочитать тут

В следующих статьях покажу как использовать Nape на реальных примерах.

Комментариев нет:

Отправить комментарий