Основные понятия объектов физического мира — различия между версиями
Boyarin (обсуждение | вклад) (→Основные понятия объектов физического мира) |
Boyarin (обсуждение | вклад) |
||
Строка 10: | Строка 10: | ||
− | == '''Основные понятия | + | == '''Основные понятия''' == |
*'''Мир (world)''' | *'''Мир (world)''' | ||
Строка 41: | Строка 41: | ||
*'''Солвер (solver)''' | *'''Солвер (solver)''' | ||
В физическом мире Box2D есть солвер (или «решатель», дополнительно см. http://www.gamedev.ru/code/terms/Solver - прим. перев. tigrojop), который используется для времени продвижения (advance time) и для разрешения контактов и совместных ограничений (joint constraints). Солвер Box2D является высокопроизводительным итеративным солвером, который отрабатывает порядка N раз, где N равно количеству ограничений (constraints). | В физическом мире Box2D есть солвер (или «решатель», дополнительно см. http://www.gamedev.ru/code/terms/Solver - прим. перев. tigrojop), который используется для времени продвижения (advance time) и для разрешения контактов и совместных ограничений (joint constraints). Солвер Box2D является высокопроизводительным итеративным солвером, который отрабатывает порядка N раз, где N равно количеству ограничений (constraints). | ||
+ | |||
+ | == '''Примеры использования''' == |
Версия 11:06, 20 января 2013
Для создания физических объектов в редакторе используется движок Box2D. Box2D — компьютерная программа, свободный открытый физический движок. Box2D является физическим движком реального времени и предназначен для работы с двухмерными физическими объектами. Полная документация по движку Box2D:
на английском (оригинал): http://box2d.org/manual.html
на русском (перевод имеет неточности и не полный) https://docs.google.com/document/pub?id=1taHWCfoCFFwdn0itFXSS5lKoHKebx4Z-27yZJ6vVACc
Основные понятия
- Мир (world)
Физический мир включает в себя все тела (bodies), крепления (fixtures) и ограничения (constraints), которые взаимодействуют друг с другом. Box2D поддерживает создание нескольких миров, но обычно в этом нет необходимости или это нежелательно.
- Фигура (shape)
Плоская геометрическая фигура, такая как окружность (circle) или многоугольник (polygon).
- Твердое тело (rigid body)
Предмет, состоящий из материала настолько прочного, что расстояние между любыми двумя точками этого предмета является постоянным при любых условиях. Предмет, прочный как алмаз. В дальнейшем, для удобства, мы будем использовать термин «тело» (body), вместо «твердое тело» (rigid body).
- Крепление (fixture)
«Крепление» привязывает фигуру (shape) к телу (body) и добавляет свойства материала, такие как: плотность (density), трение (friction) и упругость (restitution).
- Ограничение (constraint)
«Ограничение» – это физическая привязка, которая ограничивает свободу перемещения и/или вращения тел. На плоскости тело имеет 3 степени свободы (движение по вертикали и горизонтали, и вращение). Если мы возьмем тело и прикрепим его булавкой к стене, то мы ограничим движения тела стеной. В данном случае тело сможет только вращаться вокруг булавки, таким образом «ограничение» удалило 2 степени свободы тела.
- Контактное ограничение (contact constraint)
Специальное «ограничение», предназначенное для предотвращения проникновения твердых тел друг в друга, а также моделирования трения и упругости. Вам не придется создавать такие ограничения; они создаются Box2D автоматически.
- Соединение (joint)
«Соединение» используется для скрепления вместе двух и более тел. Box2D поддерживает несколько типов соединений: «болтовое» (revolute), «призматическое» (prismatic), «жесткий отрезок» (distance), и другие. Некоторые соединения могут иметь ограничители (limits) и мускулы (motors).
- Ограничитель соединения (joint limit)
«Ограничитель соединения» устанавливает диапазон движения соединения. Например, человеческое колено или локоть могут двигаться только в определенном диапазоне углов.
- Мускул соединения (joint motor)
«Мускул соединения» управляет движением соединенных тел согласно степеням свободы соединения. Например, вы можете использовать мускул, чтобы управлять вращением колена.
- Солвер (solver)
В физическом мире Box2D есть солвер (или «решатель», дополнительно см. http://www.gamedev.ru/code/terms/Solver - прим. перев. tigrojop), который используется для времени продвижения (advance time) и для разрешения контактов и совместных ограничений (joint constraints). Солвер Box2D является высокопроизводительным итеративным солвером, который отрабатывает порядка N раз, где N равно количеству ограничений (constraints).