Об этом проекте
Matter.js — это JavaScript-движок 2D-физики твердых тел для веб-приложений, описанный как оригинальная реализация, а не порт. Распространяется через npm и Yarn (npm install matter-js) или как тег script, поддерживает браузеры и Node.js, включая мобильные сенсорные экраны и адаптивные макеты.
Основные возможности, перечисленные проектом, включают твердые тела, составные и композитные тела, вогнутые и выпуклые оболочки, физические свойства, такие как масса, площадь и плотность, восстановление для упругих и неупругих столкновений, многофазное обнаружение столкновений (широкая, средняя и узкая фазы), устойчивое штабелирование и покой, сохранение импульса, трение и сопротивление, события, ограничения, гравитацию, режим сна и статические тела, скругленные углы (фаски), виды с перемещением и масштабированием, запросы столкновений, такие как рейкастинг и тесты регионов, масштабирование времени для замедления или ускорения, а также canvas-рендерер, поддерживающий векторы и текстуры.
Движок можно расширять с помощью плагинов; вики-страницы охватывают использование и создание плагинов, список плагинов и репозиторий-шаблон. MatterTools предлагается для создания, тестирования и отладки миров, а сериализация состояния мира возможна с помощью resurrect.js.
README ссылается на обширный набор живых демонстраций, охватывающих смешанные и сплошные формы, вогнутые SVG-пути и рельеф, составные тела, колыбель Ньютона, разрушающий шар, рогатку, скругленные углы, виды, масштабирование времени, манипуляции с телами и композитами, рейкастинг, спрайты, пирамиду, автомобиль, катапульту, обратную гравитацию, мост, лавину, мягкие тела, ткань, события, фильтрацию столкновений, цепи, бассейн с мячами, штабели, восстановление, варианты трения, режим сна, пляжные мячи, стресс-тесты и датчики. Галерея перечисляет сайты и проекты, использующие движок, включая работы Patrick Heng, Nice and Serious, Goodness, New Company, Google, Nathan Gordon, Lab212, Photon Storm (Phaser), Jessica Walsh, Fuse, überdosis и sabato studio.
Руководство по использованию указывает на вики-страницы для начала работы, запуска и рендеринга, а также учебные пособия, каталог примеров, содержащий исходники демонстраций, и дополнительные примеры CodePen. Документация по API размещена отдельно. Сборка требует Node.js и pnpm, затем pnpm install и pnpm run start для запуска сервера разработки; примечания по внесению вклада находятся в CONTRIBUTING.md. Проект отмечает, что сборщики и фреймворки могут снижать производительность в реальном времени при конфигурациях по умолчанию, особенно в режимах разработки, приводя в пример настройки sourcemap в Webpack и наблюдатели Vue.js со ссылками на обсуждения проблем. Matter.js распространяется под лицензией MIT, авторские права 2014 Liam Brummitt, без каких-либо гарантий.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.