Примеры с библиотеками физики, которые используются для разработки игр и интерактивных анимаций
Запись от 8Observer8 размещена 22.07.2023 в 19:29
Показов 3241
Комментарии 10
|
Содержание блога Содержание:
Инструкция для сборки C++ примеров в EXE
Для сборки исходников в EXE с библиотеками в примерах ниже использовался MinGW 8.1.0 из Qt 6.2.0, 64-bit: https://disk.yandex.ru/d/FiDDO5IuAQ4phQ (942 MB - архив, 2.29 GB - в распакованном виде). Здесь статическая сборка, если нужно: https://disk.yandex.ru/d/nIORLx_JIUnfnw (194 MB - архив, 822 MB - в распакованном виде). Нужно извлечь архив, например, на диск C. Вызвать окно с переменной Path, например, можно скопировать эту команду в консоль: rundll32 sysdm.cpl,EditEnvironmentVariables и добавить в Path пути:
|
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 10
Комментарии
-
Анимация прыгающего мяча в 3D с помощью физической библиотеки Bullet Physics, OpenGL1, FreeGLUT и C++
В архиве: исходники, EXE и makefile: bouncing-ball-bullet-opengl1-freeglut-cpp.zip (1.44 MB)
Библиотеки с которыми собирается данный пример:- freeglut-3.2.2-mingw-64-bit.zip (296.0 KB)
- bullet3-3.24-mingw-64-bit.zip (4.65 KB)
- glu.zip (3.0 KB)
makefile
Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
# build command: mingw32-make # -mwindows - a key to hide the console INC = -I"E:\Libs\freeglut-3.2.2-mingw-64-bit\include" \ -I"E:\Libs\bullet3-3.24-mingw-64-bit\include" \ -I"E:\Libs\glu\include" LIB = -L"E:\Libs\freeglut-3.2.2-mingw-64-bit\lib" \ -L"E:\Libs\bullet3-3.24-mingw-64-bit\lib" all: main.o g++ main.o $(LIB) -D FREEGLUT_STATIC -lfreeglut_static -lopengl32 \ -lwinmm -lgdi32 -lglu32 -lBulletDynamics -lBulletCollision \ -lLinearMath -o app.exe main.o: main.cpp g++ -c $(INC) main.cpp
Запись от 8Observer8 размещена 22.07.2023 в 19:34
-
Пример триггера, текста и рисования коллайдеров с помощью библиотеки физики Bullet Physics, OpenGL1, FreeGLUT и C++
Триггер - это невидимый объект, при касании которого срабатывает обработчик этого события.
В архиве: исходники, EXE и makefile: trigger-bullet-opengl1-freeglut-cpp.zip (1.40 MB)
Библиотеки с которыми собирается данный пример:- freeglut-3.2.2-mingw-64-bit.zip (296.0 KB)
- bullet3-3.24-mingw-64-bit.zip (4.65 KB)
- glu.zip (3.0 KB)
makefile
Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
# build command: mingw32-make # -mwindows - a key to hide the console INC = -I"E:\Libs\freeglut-3.2.2-mingw-64-bit\include" \ -I"E:\Libs\bullet3-3.24-mingw-64-bit\include" \ -I"E:\Libs\glu\include" LIB = -L"E:\Libs\freeglut-3.2.2-mingw-64-bit\lib" \ -L"E:\Libs\bullet3-3.24-mingw-64-bit\lib" all: main.o g++ main.o $(LIB) -D FREEGLUT_STATIC -lfreeglut_static -lopengl32 \ -lwinmm -lgdi32 -lglu32 -lBulletDynamics -lBulletCollision \ -lLinearMath -o app.exe main.o: main.cpp g++ -c $(INC) main.cpp
Запись от 8Observer8 размещена 22.07.2023 в 22:21
-
Пример взрыва при касании сферического триггера, текста и отключения/включения рисования коллайдеров с помощью библиотеки физики Bullet Physics, OpenGL1, FreeGLUT и C++
Библиотеки, с которыми собирается данный пример:- freeglut-3.2.2-mingw-64-bit.zip (296.0 KB)
- bullet3-3.24-mingw-64-bit.zip (4.65 KB)
- glu.zip (3.0 KB)
makefile
Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
# build command: mingw32-make # run command: app # -mwindows - a key to hide the console INC = -I"E:\Libs\freeglut-3.2.2-mingw-64-bit\include" \ -I"E:\Libs\bullet3-3.24-mingw-64-bit\include" \ -I"E:\Libs\glu\include" LIB = -L"E:\Libs\freeglut-3.2.2-mingw-64-bit\lib" \ -L"E:\Libs\bullet3-3.24-mingw-64-bit\lib" all: main.o g++ main.o $(LIB) -D FREEGLUT_STATIC -lfreeglut_static -lopengl32 \ -lwinmm -lgdi32 -lglu32 -lBulletDynamics -lBulletCollision \ -lLinearMath -o app.exe main.o: main.cpp g++ -c $(INC) main.cpp
Запись от 8Observer8 размещена 22.07.2023 в 22:32
-
Спрайт в стиле SFML, используя WebGL 1.0 и JavaScript
Пример загружает спрайты из sprite sheet, который был создан в FreeTexturePacker и использует страйт в стиле SFML
Песочницы:
Исходники на GitHub
Прикрепил исходники в этих сообщениях:Запись от 8Observer8 размещена 24.07.2023 в 15:56
-
Jumping with ground check using ray casting, Box2D-WASM, Melon.js, and JavaScript
- Live demo
- GitHub repository
- Source code: can-jump-with-ray-casting-box2dwasm-melonjs-js.zip (246.6 KB)
Playgrounds/Sandboxes:
Topic and discussions:
Запись от 8Observer8 размещена 01.08.2023 в 17:01
-
Рисование коллайдеров на Babylon.js для физических движков: Box2D-WASM, OimoPhysics, Ammo.js и rapier3d-compat
Ссылка на тему на официальном форуме Babylon.js: Table of contents for examples with debug drawers of colliders for physics engines using Babylon.js and JavaScript
1. Box2D-WASM:
- Plunker
- Glitch
- Replit
- GitHub репозиторий с пошаговой инструкцией для Rollup
- debug-drawer-box2dwasm-babylonjs-js-main.zip (279.2 KB)
2. OimoPhysics:
- Babylon.js Playground
- Plunker
- PlayCode
- GitHub репозиторий с пошаговой инструкцией для Rollup
- debug-drawer-oimophysics-babylonjs-js-main.zip (495.8 KB)
3. Ammo.js:
- Plunker
- PlayCode
- GitHub репозиторий с пошаговой инструкцией для Rollup
- debug-drawer-ammo-babylonjs-js-main.zip (525.7 KB)
4. rapier3d-compat:
- Babylon.js Playground
- Plunker
- PlayCode
- GitHub репозиторий с пошаговой инструкцией для Rollup
- debug-render-by-frankieali-rapier3dcompat-rollup-babylonjs-js-main.zip (418.9 KB)
Запись от 8Observer8 размещена 24.09.2023 в 17:18
-
Рисование коллайдеров на Three.js для физического движка Box2D-WASM
Ссылка на тему на официальном форуме Box2D-WASM: Basic Examples of Using Box2D-WASM with Three.js in JavaScript
- Демка
- Replit
- Plunker
- Glitch
- GitHub репозиторий с пошаговой инструкцией для Rollup
- debug-drawer-box2dwasm-threejs-js-main.zip (71.9 KB)
Запись от 8Observer8 размещена 24.09.2023 в 17:22
-
Пример на PhysX и Three.js. Взят отсюда. Здесь PhysX и Three.js загружаются в скрипт типа "module". Я скопировал оригинальный пример из песочницы SBEdit в песочницу Plunker. Мне из всех песочниц больше всего нравится Plunker потому что в ней мой разбивать свой код на файлы и загружать модели, текстуры, звуки и другие ассеты.
Песочницы:
- SBEdit: https://sbedit.net/a318767d267... a1c45c679e
- Plunker: https://plnkr.co/edit/c8Pvr7oBlq1B4kAj?preview
Код на форуме
Запись от 8Observer8 размещена 05.03.2024 в 14:39
-
Пример рисования коллайдеров физического движка PhysX на <canvas> в контексте "2d" с использованием библиотеки линейной алгебры glMatrix. PhysX используется в скрипте типа "module". Пример не мой. Его опубликовали в теме здесь. PhysX - кандидат на создание контроллера от третьего лица.
Песочница: https://sbedit.net/41255c40b51... a28db2f052
Код на форуме
Запись от 8Observer8 размещена 05.03.2024 в 14:40
-
Я спросил у Gemini:
Ответ:
- Научные исследования и робототехника: Благодаря поддержке вычислений с двойной точностью и интеграции с Python (библиотека PyBullet), движок является стандартом для симуляции роботов и обучения нейросетей (Reinforcement Learning).
- Спецэффекты и 3D-графика: Bullet продолжает использоваться в профессиональном ПО. Например, он остается частью актуальной версии Autodesk Maya 2026 для симуляции твердых и мягких тел.
- Open-Source и инди-разработка: Благодаря лицензии zlib и открытому коду, его часто выбирают для самописных движков и открытых проектов (например, в Blender или игровых фреймворках вроде libGDX).
- Техническая поддержка: Проект продолжает развиваться. В конце 2025 года разработчики оперативно выпускали патчи для совместимости с новыми стандартами компиляторов (например, исправления для Visual Studio 2026).
- Конкуренция: В игровом мейнстриме 2026 года Bullet уступает позиции более современным и быстрым движкам, таким как Jolt Physics (который стал стандартом в Godot 4) или Chaos в UE5, так как они лучше оптимизированы под многопоточность современных CPU.
Источники, который использовал Gemini (некоторые ссылки не открываются без VPN):
FYI Bullet Physics issue with VS2026 : r/gameenginedevs
25 нояб. 2025 г. — Just wanted to share the fix I found in case anyone else use Bullet Physics had an issue with their constraints ex...
Reddit
Maya - Solver Nodes - Autodesk Help
* What's New in Maya 2026. * Maya 2026 Release Notes. * Flow-connected Capabilities. * Character Animation. * Character Effects an...
Autodesk
Is Bullet still in use? Recommended for 2016 new title?
24 апр. 2019 г. — Post by Erwin Coumans » Sun Jul 17, 2016 3:25 am. HateDread wrote: Also, does the double precision option still wor...
PyBullet
Bullet Physics SDK - GitHub
23 нояб. 2025 г. — Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robo...
GitHub
Bullet (software) - Wikipedia
The Bullet physics library is free and open-source software subject to the terms of the zlib License.
Wikipedia
Bullet physics - libGDX
View revision history • Edit on GitHub. Bullet is a 3D Collision Detection and Rigid Body Dynamics Library. The Library is Open So...
libGDX
Top 10 Physics Engines: Features, Pros, Cons & Comparison
18 дек. 2025 г. — Which Physics Engines Tool Is Right for You? * Solo developers: Lightweight engines like Box2D or Unity Physics off...
Devopsschool.com
What is PyBullet? Competitors, Complementary Techs & Usage
22 нояб. 2025 г. — PyBullet is a Python module for robotics, games and machine learning based on the Bullet Physics SDK. It provides ...
Sumble
New Physics Engines Replacing Bullet Engine for Game Dev
2 дек. 2023 г. — 6 Likes. JavaFor3dGames December 16, 2023, 5:27am 14. In recent months Godot 4 contributors tried to integrate bulle...
jMonkeyEngine HubЗапись от 8Observer8 размещена 09.01.2026 в 17:27
Обновил(-а) 8Observer8 09.01.2026 в 17:30


