5 крутых библиотек для физики на JavaScript 🤓.
Вчера я проводил исследование крутых библиотек физики, которые можно использовать в играх и сайтах на JavaScript. Вот мои 5 лучших вариантов с небольшим вступлением о каждой из них.
Начнем с 👇
1. Box2D 🥊
![box2d](https://res.cloudinary.com/practicaldev/image/fetch/s--NR0UUcaB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j0knez36vo304nfguqtc.jpeg)
Box2D — это суперпопулярный инструмент для 2D-физики!
Он был создан для игр и является действительно быстрым и точным. Веб-сайт выглядит очень профессионально.
У него отличная документация и учебники, которые помогут понять, как им пользоваться.
Некоторые крупные игры, например Angry Birds, используют его!
2. Matter.js 🧪
![mattejs](https://res.cloudinary.com/practicaldev/image/fetch/s--UzZ7CjLI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bh5zbzngbay90y0wct31.jpeg)
Эта программа также поддерживает 2D-физику жесткого тела и, похоже, подходит для начинающих.
Демо-версии на сайте очень интересны для игры. Он поддерживает такие вещи, как составные тела, что очень полезно.
А документация по API кажется простой для навигации.
Это было бы здорово для прототипирования игровых идей!
3. LiquidFun 💧
![liquidFun](https://res.cloudinary.com/practicaldev/image/fetch/s--CmvDgfVr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zcsuw1ktfs0d6g3qocia.jpeg)
LiquidFun — это очень круто, потому что он может симулировать жидкости!
Я думаю, что игра с жидкостями в играх может привести к созданию очень креативных уровней.
В основе программы лежит Box2D, поэтому она обладает отличной производительностью. А примеры на сайте выглядят так реалистично.
Определенно попробую создать игру с физикой воды!
4. PhysicsJS 🧬
![physicsJS](https://res.cloudinary.com/practicaldev/image/fetch/s--zmx8tSfT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8evndxyyetntee1q21g2.jpeg)
Этот вариант кажется очень гибким благодаря модульной конструкции.
На странице примеров есть множество демо-версий для тестирования. Мне нравится, что он работает с различными рендерами, такими как PIXI.js, так что вы не зациклены на одном.
PhysicsJS также имеет такие возможности, как ограничения, что может позволить использовать некоторые элементы головоломки в играх.
5. Oimo.js 🧸
![oimojs](https://res.cloudinary.com/practicaldev/image/fetch/s--rXKh9Mcp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2pm6tqhvc7wvj6vgvxfr.jpeg)
Наконец, Oimo.js интересен тем, что стремится быть очень легким и простым в использовании.
В документации по API есть четкие объяснения.
Он также поддерживает 3D, что открывает возможности не только для 2D.
Я думаю, это может быть полезно для прототипов мобильных игр, где производительность имеет значение.
Базовая демо-версия на их сайте позволяет возиться со слайдерами и увидеть физику в действии.
Все эти библиотеки выглядят потрясающе и будут очень полезны для создания игр и 3d-портфолио.
Они определенно помогут мне, когда я начну изучать разработку игр.
Теперь осталось решить, какую из них опробовать первой😅
Спасибо за чтение!