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

суть в том, что физика, если концепция physics-first, у вас на этапе прототипирования, коллайдеры - тоесть меши будут наделяться физическими свойствами - метками в пространстве, относительно физических свойств происходит комуникация внутри мира
тоесть коллайдер будет смотреть в физический мир - сущность, которая знает интегратор, а визуалка просто рисует текущии состояния интегратора
есть еще newtondynamics, тоже интересная, но походу не популярная
Не разбираюсь в программировании, но каким-то чудом установил эту штуку, нашел на сайте Github разные примеры физических программ: какие-то растягивающиеся куски ткани, летающие кубы и т.д. Прикольно! Нужно попробовать симулировать что-то посложнее, хочу посмотреть, что будет, если сбросить пианино в черную дыру.
У вас ничего не выйдет, так как в окрестности черной дыры используется уже другая физика в расчётах, а именно численное решение формул ОТО (довольные сложные тензорные уравнения энергии - импульса в Римановской геометрии). А в данном движке обычные решатели Ньютоновской динамики.
С черной дырой проблема будет, потому что гравитация в движке крайне упрощенная. Я б сказал "плоскоземельная"
Я правильно понимаю, что движок будет нормально работать только при "axis aligned" пространстве, а если у меня геоид, то я иду лесом? Что посоветуете использовать в таком случае?
Мир обновляется через команду stepSimulation.
Можно было бы более конкретно описать, что это не просто какая-то абстрактная "команда", а метод класса btDiscreteDynamicsWorld
Изучение физического движка Bullet