Вот основные шаги, которые вам нужно выполнить:
Сначала создайте объект мира (т.е. btDiscreteDynamicsWorld
), чтобы управлять своим физическим моделированием.
У вас уже должен быть такой класс, GameObject
который, возможно, хранит модель вместе с ее ограничительной рамкой и положением / ориентацией в мире. Заменить в положении / ориентации информации с экземпляром физика тела объекта (то есть btRigidBody
) , а также при визуализации модели, использовать информацию , полученную от тела вместо этого. При создании тела вам нужно будет указать его массу и форму столкновения, которые должны соответствовать ограничивающим объемам, которые у вас уже есть. Я говорил об этом и в вашем другом вопросе .
Добавьте каждое тело вашего игрового объекта в мировой объект.
Обновите симуляцию , шагнув по миру (т.е. призвав stepSimulation
свой мир).
И потратьте некоторое время на прочтение руководства, так как оно содержит много информации.
Изменить на адрес комментария
Я передергиваюсь, прежде чем спросить, но ... как мне сделать очень простые вещи, такие как просто включение нужных файлов в мою игру? Если вам нужна конкретика, я ищу файлы, которые будут иметь дело с столкновениями твердого тела. Также большое спасибо за помощь до сих пор!
Что ж, из вашего комментария станет ясно, что вы никогда раньше не работали с внешними библиотеками C ++. Прошло много времени с тех пор, как я это сделал, но так я помню этот процесс (в Visual Studio).
Для начала приведу руководство, которое уже объясняет, что вам нужно:
- #include “btBulletDynamicsCommon.h” in your source file
- Required include path: Bullet/src folder
- Required libraries: BulletDynamics, BulletCollision, LinearMath
И вот основные шаги, которые вы должны будете выполнить, чтобы выполнить вышеуказанные условия ...
1. Этап подготовки
Прежде всего, извлеките загруженный файл в известный каталог, например C:\Bullet
. Вам нужно будет узнать путь к этой папке позже.
Внутри есть две папки, на которые вам нужно будет ссылаться в вашем проекте. Первая - это src
папка, в которой находятся .h
заголовочные файлы, которые вы включите в свой исходный код. Вторая - это lib
папка, в которой будут храниться .lib
файлы библиотеки, с которыми вы будете связывать свой проект. Обратите внимание, что включение и связывание - это две разные вещи.
Но lib
папка должна быть пустой на данный момент, потому что вы не построили двигатель еще. Так обратитесь к руководству о том , как построить проект с использованием CMake и Visual Studio, например. Это на странице 7.
После успеха, вы должны иметь по крайней мере три файла в lib
папке: BulletDynamics.lib
, BulletCollision.lib
и LinearMath.lib
(я предполагаю , что из руководства). Теперь , чтобы сделать связь между пулей и вашим проектом ...
2. Включить заголовки
Прежде всего, вам нужно добавить C:\Bullet\src
папку для вашего проекта включают в себя варианты пути. Вы можете сделать это в Visual Studio , щелкнув правой кнопкой мыши на вашем проекте, перейдя Configuration Properties -> C/C++ -> General -> Additional Include Directories
и писать путь к каталогу в там.
После установки этого, вы можете просто сделать #include “btBulletDynamicsCommon.h”
на вашем коде. Это заголовок кажется, служит в качестве концентратора ко всем функциям вам требуется.
3. Библиотеки Link
Наконец вам нужно связать библиотеки , упомянутые выше. Frist под Configuration Properties -> Linker -> General -> Additional Library Directories
добавить путь к lib
папке, или другими словами, C:\Bullet\lib
.
Затем, под Configuration Properties -> Linker -> Input-> Additional Dependencies
, добавьте имя библиотеки в список зависимостей. Разделяйте библиотека с ;
и не забудьте расширение файла. Так, например, вы можете добавить это в конец списка: BulletDynamics.lib;BulletCollision.lib;LinearMath.lib
.
После этого вы должны быть в состоянии построить и запустить свой проект.
4.4 Integration overview
я знаю , что это очень спартанские , но это не описывается основной процесс. Так что, если вы посмотрите на это и код для примера Demos , то вам не должно быть слишком много проблем.