Войти
ПрограммированиеФорумФизика

[C#] Bepu Physics v1

#0
15:17, 2 апр. 2018

https://github.com/bepu/bepuphysics1 - кто-нибудь пользовался этим физическим движком [в коммерческих проектах для 3D]? Можете о нём что-нибудь рассказать по опыту работы с ним, если таковой имеется? Например, производительность/удобство работы с апи, какие-нибудь "подводные камни"?
Странно, просто, что движок вроде неплохой, по крайней мере по демкам, и код очень хорошо документирован, да и что самое главное (с точки зрения удобства интеграции) - реализация нативная, а не враппер какой-нибудь над Сишной дллкой. Но что-то как-то о нем никто ничего не знает (если говорить о физике на C#), у всех на устах PhysX.Net и BulletSharp :)


#1
16:51, 2 апр. 2018

Не помню почему, но выбрал в свое время Jitter Physics (тоже чистый .NET). Было года 3 назад и считай, что неправда.

#2
0:03, 5 апр. 2018

Я пробовал BEPU несколько лет назад до появления Unity 5. Он оказался значительно медленнее, чем Jitter. Чуть ли не в разы. А Jitter был несколько медленнее встроенного в тогдашний Unity однопоточный PhysX 2.x

В то время плюсы/минусы для меня выглядели так:

BEPU
+ полный контроль над физикой
+ активная разработка/поддержка
+ документация
+ многопоточность
- медленный даже с многопоточностью (моя догадка: скорость пала жертвой архитектуры — стремления всё написать красиво и абстрактно)

Jitter
+ полный контроль над физикой
+ средняя скорость
+ многопоточность позволяет ускориться и перегнать PhysX в Unity 4
- недоделанный (что-то там в joint'ах не хватало или не работало)
- заброшенный

PhysX 2.x в Unity до версии 5
+ в одинаковых условиях быстрее двух предыдущих
- однопоточный
- контроль над физикой ограничен API Unity

PhysX 3.x в Unity с версии 5
- контроль над физикой ограничен API Unity
+ в остальном всё отлично

С BEPU я возился недолго, два-три дня. Может что-то неправильно понял. Что изменилось в движке за последние пару лет, тоже не знаю.

PS:
Вижу, что его сейчас полностью переписывают - https://github.com/bepu/bepuphysics2

#3
15:00, 18 апр. 2018
блин, почему я не видел эту тему раньше...

Скажем так, я достаточно активный пользователь данного движка. Если разобраться с его архитектурой, то вполне удобно контролировать всё происходящее в сцене. Особенно клонирование объектов в реалтайме, их манипуляция. Отлично работает с пользовательской геометрией (имею ввиду не стандартные примитивы типа кубы, конусы, сферы и пр.). К сожалению, не всё там идеально, немного страдает производительность при большом количестве объектов (всё-таки на чистом C#), иногда замечал прохождение одних объектов сквозь другие (когда этого было не нужно). Большой плюс - активно поддерживается самим автором как и обновлениями (пользуюсь NuGet пакетами), так и на форуме - отвечает на каждый вопрос.

Ко всему прочему готовится версия 2.0, где полностью пересмотрена внутренняя кухня в сторону улучшения производительности, чем демонстрирует различными графиками и видео на своём официальном сайте.

Мой вердикт: Рекомендую!

#4
18:44, 18 апр. 2018

Можешь взять любой. Всё равно будет графон уровня HL2 и 30 фпс максимум.

ПрограммированиеФорумФизика

Тема в архиве.