Repolode
liabru

liabru/matter-js

一款面向网页的 JavaScript 2D 刚体物理引擎,可在浏览器和 Node.js 中运行。

Star
18,603
Fork
2,001
未关闭 Issue
280
最近提交
上个月

这是什么?

Matter.js 是一个用 JavaScript 编写的 2D 刚体物理引擎,专为网页环境设计。它负责碰撞、重力、摩擦、弹性恢复和约束等计算,开发者可以直接在基于 Canvas 的游戏、交互图形或模拟项目中加入真实的物理运动,而无需自行实现物理逻辑。

引擎支持刚体、复合刚体和凹多边形,也能根据 SVG 路径或地形生成形状。它提供射线检测和区域查询等碰撞查询功能,支持时间缩放实现慢动作效果,并带有可缩放、平移的视图。Canvas 渲染器可以绘制矢量图形和纹理。物体静止时可进入休眠状态,世界状态也可以借助 resurrect.js 进行序列化。

它兼容 Chrome、Firefox、Safari 和 IE8 及以上版本,也可以在 Node.js 中运行。可以通过 npm 或 Yarn 安装,也能直接用一个 script 标签引入,并提供插件机制、大量示例和 API 文档。

核心功能

  • 01支持刚体、复合刚体和凹多边形,并带有碰撞检测
  • 02提供重力、摩擦、弹性碰撞和约束计算
  • 03支持射线检测和区域查询
  • 04Canvas 渲染器可绘制矢量图形和纹理
  • 05支持时间缩放、可缩放视图和物体休眠
  • 06提供插件机制,可在浏览器和 Node.js 中运行

适用场景

  • 在浏览器中开发弹弓、堆叠类等 2D 物理游戏
  • 为基于 Canvas 的网页动画加入交互式物理效果
  • 在 Node.js 中运行无界面的物理模拟
  • 原型化桥梁、小车、摆锤等机械系统

快速上手

  1. 1

    从 npm 安装该包

    npm install matter-js
  2. 2

    参考 Getting started 维基页面中的最小使用示例

使用前须知

  • README 将 master 分支的 alpha 构建标注为实验性版本。

收录于专题

标签

常见问题

matter-js 是什么?
一款面向网页的 JavaScript 2D 刚体物理引擎,可在浏览器和 Node.js 中运行。 Matter.js 是一个用 JavaScript 编写的 2D 刚体物理引擎,专为网页环境设计。它负责碰撞、重力、摩擦、弹性恢复和约束等计算,开发者可以直接在基于 Canvas 的游戏、交互图形或模拟项目中加入真实的物理运动,而无需自行实现物理逻辑。
matter-js 可以免费使用吗?用的什么许可证?
matter-js 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
matter-js 还在维护吗?
半年内有更新。matter-js 最近一次提交是在 2026年9月30日。
matter-js 适合用来做什么?
在浏览器中开发弹弓、堆叠类等 2D 物理游戏 为基于 Canvas 的网页动画加入交互式物理效果 在 Node.js 中运行无界面的物理模拟 原型化桥梁、小车、摆锤等机械系统
matter-js 怎么安装和运行?
从 npm 安装该包: npm install matter-js 参考 Getting started 维基页面中的最小使用示例
在哪里获取 matter-js?
源代码和安装说明在 GitHub 上:https://github.com/liabru/matter-js

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目