这个项目能做什么
Matter.js 是一个面向 Web 的 JavaScript 2D 刚体物理引擎,被描述为原创实现而非移植版本。它通过 npm 和 Yarn(npm install matter-js)分发,也可通过 script 标签引入,支持浏览器和 Node.js,包括移动端触摸和响应式布局。
该项目列出的核心能力包括:刚体、复合体和组合体、凹包和凸包、质量/面积/密度等物理属性、用于弹性和非弹性碰撞的恢复系数、多阶段碰撞检测(粗、中、窄)、稳定的堆叠和静止、动量守恒、摩擦和阻力、事件、约束、重力、休眠和静态体、圆角(倒角)、支持平移和缩放的视图、射线检测和区域测试等碰撞查询、用于慢动作或加速的时间缩放,以及支持矢量和纹理的 canvas 渲染器。
该引擎可通过插件扩展,wiki 页面涵盖插件的使用和创建、插件列表以及一个样板仓库。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 的作品。
使用指南指向入门、运行和渲染相关的 wiki 页面,以及教程、包含演示源码的 examples 目录和其他 CodePen 示例。API 文档单独托管。构建需要 Node.js 和 pnpm,然后运行 pnpm install 和 pnpm run start 启动开发服务器;贡献说明见 CONTRIBUTING.md。该项目指出,打包工具和框架在默认配置下可能会降低实时性能,尤其是在开发模式下,并举例提到 Webpack 的 sourcemap 设置和 Vue.js 的 watcher,附有相关 issue 讨论链接。Matter.js 采用 MIT 许可证,版权归 2014 Liam Brummitt 所有,不提供任何担保。
评论
0 评分人数达到10人后显示
登录后参与讨论。