Box2d создает массивное тело - разделить его? - PullRequest
1 голос
/ 28 января 2012

Я создаю космическое моделирование, и для этого потребуется, чтобы я делал планеты, малые и большие корабли.

Я буду оптимизировать свои малые корабли так, чтобы они равнялись примерно 1 м в физическом моделировании, однакопри моделировании планеты, вероятно, будут иметь размер ~ 1000 м или более, а некоторые из самых больших кораблей могут быть также и 200 м или более.

Насколько я знаю, box2d не очень хорошо работает с объектами, размер которых превышает 10 м.размер ... есть ли способ обойти это ограничение?Я был бы рад принять более низкую точность столкновения для более крупных объектов, если бы это означало поддержание оптимальной производительности.

Я думал, что этого можно достичь, разбив крупные объекты на несколько «секций», а затем связав ихвместе с фиксированными суставами?Это даже хорошая идея?

Возможно, кто-то мог бы пролить свет на эту проблему?

1 Ответ

0 голосов
/ 28 января 2012

Box2D оптимизирован для работы с динамическими телами с размерами в диапазоне: 0,1 - 10. Таким образом, вы можете масштабировать свою систему на 10: сделайте самую маленькую овцу 0,1 и самую большую 20. Ваши планеты в этом случае будут ~ 100.

Я думаю, что вы должны попробовать с размерами, которые я предложил.Я думаю, что это должно работать хорошо.Также не делайте свои тела слишком массивными.Играйте с их плотностью.Когда я изменил базовую плотность в своем проекте с 10 на 1, качество моделирования значительно возросло.

Использование фиксированных соединений не очень хорошая идея.Их рекомендуется использовать, только если они считаются хрупкими.В противном случае предпочтительнее использовать один корпус с несколькими приспособлениями.

...