Привет, поэтому я недавно изучил графическую библиотеку SFML и хотел бы использовать или создать 2D физическую систему нежестких тел для использования с ней. У меня три вопроса:
Определение твердого тела в Box2d
Кусок материи, который настолько силен, что расстояние между любыми двумя кусочками материи на куске является полностью постоянным.
И это именно то, чего я не хочу, так как я хотел бы делать упругие, деформируемые, ломкие и повторно соединяемые тела. 1. Существуют ли какие-нибудь простые физические движки 2D, но с такими характеристиками? желательно бесплатный или с открытым исходным кодом?
2. Если нет, могу ли я использовать box2d и отработать его, чтобы создать его, даже если он основан на твердых телах?
3. Наконец, если есть такой простой физический движок, должен ли я в любом случае пройти через процесс создания нового, просто для опыта и для улучшения знаний по физике по математике?Я чувствую, что это поможет, если я когда-нибудь захочу изменить код существующего движка или создать игру с действительно уникальной физикой.
Спасибо!
Ответы:
Вы можете использовать системы твердого тела для создания мягкого тела и динамики жидкости. Физическая причина этого? Ну, по сути, атомы - это маленькие твердые тела. Конечно, это не совсем так, но для простоты вы можете рассматривать их как таковые. И мягкие тела, очевидно, сделаны из атомов.
Итак, как вы создаете «мягкие тела», используя движок с жестким корпусом, такой как Box2D?
Основная техника состоит в том, чтобы связать точки в вашем теле, используя суставы. Например, если вы соединяете концы списка строк вместе, используя расстояния между соединениями (то есть расстояние между двумя соединениями должно быть постоянным), оно будет примерно вести себя как кусок ткани.
Но это только грубое описание. Ewjordan, один из разработчиков Java-порта Box2D, проделал большую «элементарную полевую работу» с Box2D. Вот хорошая отправная точка: http://www.box2d.org/forum/viewtopic.php?f=8&t=1978
источник
Термин, который вы ищете, это физика мягкого тела.
Википедия есть хороший список. Они все 3D AFAICS, но должны быть хорошими.
Также проверьте этот ТАК вопрос.
Отличная книга (это твердое тело, но все математика и физика есть; она также 3D, но ее легко перевести в 2D) - это разработка движка игровой физики . Он реализует систему на основе частиц, прежде чем перейти на твердые тела и столкновения.
источник
Один простой способ симулировать мягкие тела - это соединить маленькие жесткие тела с помощью эластичных соединений. Тогда трудной частью является точная настройка параметров вашей модели и сопоставление текстуры с базовой моделью.
В следующем сообщении в блоге представлена реализация деформируемого шарика с движком cocos2d: http://2sa-studio.blogspot.com/2014/05/soft-bodies-with-cocos2d-v3.html
источник