Многопоточная библиотека на C++ для симуляции твёрдых тел и обнаружения столкновений в играх и VR-приложениях.
liabru/matter-js
2D-движок физики твёрдых тел для веба, написанный на JavaScript и работающий в браузерах и Node.js.
- Звёзды
- 18,600
- Форки
- 2,000
- Открытые issues
- 280
- Последний коммит
- в прошлом месяце
Что это?
Matter.js — это движок физики твёрдых тел для веба, написанный на JavaScript. Он обрабатывает столкновения, гравитацию, трение, упругость и связи, позволяя разработчикам добавлять правдоподобную физику в игры на canvas, интерактивную графику и симуляции, не создавая собственный физический движок.
Движок поддерживает твёрдые, составные и вогнутые тела, в том числе фигуры, построенные по SVG-путям, и рельеф. В нём есть запросы для проверки столкновений, например трассировка лучей и проверка областей, изменение масштаба времени для эффектов замедления, виды с масштабированием и перемещением, а также canvas-рендерер для отрисовки векторов и текстур. Тела в состоянии покоя можно усыплять, а сериализовать состояние мира помогает resurrect.js.
Matter.js работает в Chrome, Firefox, Safari и IE8+, а также в Node.js. Его можно установить через npm или Yarn, подключить одним тегом script; кроме того, в движке есть система плагинов, множество демо и справочник API.
Ключевые возможности
- 01Твёрдые, составные и вогнутые тела с обнаружением столкновений
- 02Гравитация, трение, упругость и связи
- 03Трассировка лучей и запросы по областям для проверки столкновений
- 04Canvas-рендерер с поддержкой векторных фигур и текстур
- 05Масштабирование времени, виды с масштабированием и усыпление тел
- 06Система плагинов, работа в браузерах и Node.js
Сценарии использования
- Создание браузерных 2D-игр с физикой, например игр с рогаткой или головоломок с укладыванием объектов
- Добавление интерактивного физического движения в веб-анимацию на canvas
- Запуск фоновых физических симуляций в Node.js
- Создание прототипов механических систем, например мостов, автомобилей или маятников
Быстрый старт
- 1
Установите пакет из npm
npm install matter-js - 2
Минимальный пример использования см. на странице Getting started в вики
Что важно знать
- В README альфа-сборка из master помечена как экспериментальная.
В подборках
Темы
Частые вопросы
- Что такое matter-js?
- 2D-движок физики твёрдых тел для веба, написанный на JavaScript и работающий в браузерах и Node.js. Matter.js — это движок физики твёрдых тел для веба, написанный на JavaScript. Он обрабатывает столкновения, гравитацию, трение, упругость и связи, позволяя разработчикам добавлять правдоподобную физику в игры на canvas, интерактивную графику и симуляции, не создавая собственный физический движок.
- matter-js можно использовать бесплатно? Какая у него лицензия?
- matter-js распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- matter-js всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в matter-js — 30 сент. 2026 г..
- Для чего можно использовать matter-js?
- Создание браузерных 2D-игр с физикой, например игр с рогаткой или головоломок с укладыванием объектов Добавление интерактивного физического движения в веб-анимацию на canvas Запуск фоновых физических симуляций в Node.js Создание прототипов механических систем, например мостов, автомобилей или маятников
- Как установить matter-js?
- Установите пакет из npm: npm install matter-js Минимальный пример использования см. на странице Getting started в вики
- Где скачать matter-js?
- Исходный код и инструкции по установке — на GitHub: https://github.com/liabru/matter-js
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Физический движок для 2D и 3D на ECS, созданный специально для игрового движка Bevy на Rust.
Переписанный на JavaScript и TypeScript 2D-физический движок Box2D для разработки HTML5-игр.
Универсальный физический движок для быстрой и точной симуляции контактирующих сочленённых тел, широко используемый в робототехнике и исследованиях машинного обучения.
Физические движки на Rust для 2D и 3D, предназначенные для игр, анимации и робототехники; доступны привязки для C, Python, JavaScript и Bevy.
Bullet Physics SDK — библиотека C++ для обнаружения столкновений и мультифизического моделирования в реальном времени, используемая в играх, VR, робототехнике и машинном обучении.