|
Особенности AlternativaPhysics
-
Высокое быстродействие
Движок оптимизирован с учетом особенностей языка ActionScript 3 и технологии Flash. Это особенно важно для браузерных приложений, учитывая значительные ограничения в используемой памяти и в быстродействии для кода, запускаемого в браузере.
-
Разнообразие геометрических форм
AlternativaPhysics поддерживает объекты произвольной формы, при этом для каждой формы алгоритмы определения столкновений специально оптимизированы.
-
Базовые формы
Треугольник, прямоугольник Сфера, Бокс Цилиндр, конус Произвольный выпуклый многогранник
-
Универсальные формы
Иерархический примитив. Задает тело, состоящее из нескольких базовых примитивов. Треугольный меш. Задает поверхность произвольного (в том числе невыпуклого) тела.
-
Устойчивость сложных конструкций
В ходе физической симуляции в AlternativaPhysics сохраняется устойчивость неподвижных конструкций различной сложности, состоящих из большого числа тел (в т. ч. стек, пирамида и другие). Это позволяет избегать ситуации, когда объекты, которые в реальном мире неподвижны, при симуляции начинают трястись, вибрировать, что, в конечном итоге, может привести к разрушению конструкции.
-
Поддержка ограничений (joints)
Вы можете накладывать ограничения на движение/положение двух объектов относительно друг друга.
-
Максимальное расстояние
Расстояние между двумя объектами, на которых наложено ограничение, не может превышать заданной величины. Например, можно реализовать подвешенный на веревке шарик, задав ограничения на точки крепления веревки с максимальным расстоянием, равным длине веревки.
-
Фиксированное расстояние
Расстояние между двумя объектами, на которых наложено ограничение, должно быть равно заданной величине. Например, шарик, подвешенный на стержне.
-
Шаровое соединение (ball-in-socket)
Расстояние между двумя объектами должно быть нулевым. С помощью такого ограничения можно реализовать суставы.
-
Вращательное, шарнирное соединение (hinge)
Два объекта, связанных этим ограничением, могут только вращаться относительно друг друга вокруг заданной оси. Например, колесо на элементах подвески.
-
Интеграция с Alternativa3D
В дополнение к физическому движку предоставляется библиотека, которая позволяет удобно работать с физическим поведением и изображением одного и того же объекта, используя графический движок Alternativa3D.
Физический объект не имеет графического представления сам по себе, поэтому для облегчения моделирования графическое и физическое представление объединяются в один объект.
Также в библиотеку интеграции входит класс PhysicsSprite, который инициализирует и автоматически обновляет графическую и физическую сцену.
Библиотека предоставляется с исходным кодом.
Пример использования находится в базе знаний: Введение в AlternativaPhysics.
-
Нативная система событий
Поддерживаются следующие типы событий: начало обновления сцены, окончание обновления сцены, появление контакта.
Добавление и удаления слушателя на событие — это привычные функции addEventListener и removeEventListener.
Более подробно использование событий рассматривается в уроке События в AlternativaPhysics.
|
|