Biblioteca C++ de física de corpos rígidos e detecção de colisões, compatível com múltiplos núcleos, para jogos e aplicações de VR.
liabru/matter-js
Engine de física 2D de corpos rígidos para a web, escrito em JavaScript e executado em navegadores e no Node.js.
- Estrelas
- 18,600
- Forks
- 2,000
- Issues abertas
- 280
- Último commit
- mês passado
O que é?
Matter.js é um engine de física 2D de corpos rígidos, escrito em JavaScript para a web. Ele lida com colisões, gravidade, atrito, restituição e restrições, permitindo adicionar movimentos físicos convincentes a jogos, gráficos interativos e simulações baseados em canvas sem precisar escrever um código de física próprio.
O engine oferece suporte a corpos rígidos, compostos e côncavos, incluindo formas criadas a partir de caminhos SVG e terrenos. Ele disponibiliza consultas de colisão, como raycasting e testes de região, escala de tempo para efeitos de câmera lenta, visualizações com zoom e translação, além de um renderizador de canvas capaz de desenhar vetores e texturas. Os corpos podem entrar em repouso quando estão parados, e o estado do mundo pode ser serializado com a ajuda do resurrect.js.
Matter.js funciona no Chrome, Firefox, Safari e IE8+, além do Node.js. Pode ser instalado pelo npm ou Yarn, incluído com uma única tag de script e conta com um sistema de plugins, além de uma ampla coleção de demos e uma referência da API.
Recursos principais
- 01Corpos rígidos, compostos e côncavos com detecção de colisões
- 02Gravidade, atrito, restituição e restrições
- 03Raycasting e consultas de região para verificar colisões
- 04Renderizador de canvas com suporte a formas vetoriais e texturas
- 05Escala de tempo, visualizações com zoom e corpos em repouso
- 06Sistema de plugins, com execução em navegadores e no Node.js
Casos de uso
- Criar jogos de física 2D no navegador, como puzzles de estilingue ou de empilhamento
- Adicionar movimentos físicos interativos a animações web baseadas em canvas
- Executar simulações de física headless no Node.js
- Prototipar sistemas mecânicos, como pontes, carros ou pêndulos
Início rápido
- 1
Instale o pacote pelo npm
npm install matter-js - 2
Consulte a página «Getting started» da wiki para ver um exemplo mínimo de uso
Antes de usar
- O README informa que a versão alfa de master é experimental.
Em coleções
Tópicos
Perguntas frequentes
- O que é matter-js?
- Engine de física 2D de corpos rígidos para a web, escrito em JavaScript e executado em navegadores e no Node.js. Matter.js é um engine de física 2D de corpos rígidos, escrito em JavaScript para a web. Ele lida com colisões, gravidade, atrito, restituição e restrições, permitindo adicionar movimentos físicos convincentes a jogos, gráficos interativos e simulações baseados em canvas sem precisar escrever um código de física próprio.
- matter-js é gratuito? Qual é a licença?
- matter-js é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- matter-js ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de matter-js foi em 30 de set. de 2026.
- Para que posso usar matter-js?
- Criar jogos de física 2D no navegador, como puzzles de estilingue ou de empilhamento Adicionar movimentos físicos interativos a animações web baseadas em canvas Executar simulações de física headless no Node.js Prototipar sistemas mecânicos, como pontes, carros ou pêndulos
- Como instalar matter-js?
- Instale o pacote pelo npm: npm install matter-js Consulte a página «Getting started» da wiki para ver um exemplo mínimo de uso
- Onde consigo matter-js?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/liabru/matter-js
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma engine de física 2D e 3D baseada em ECS, desenvolvida especificamente para a Bevy, a engine de jogos escrita em Rust.
Uma reescrita em JavaScript/TypeScript do motor de física 2D Box2D para desenvolvimento de jogos em HTML5.
Um mecanismo de física de uso geral para simular corpos articulados em contato com rapidez e precisão, amplamente usado em robótica e pesquisa em machine learning.
Engines de física 2D e 3D em Rust para jogos, animação e robótica, com bindings para C, Python, JavaScript e Bevy.
Bullet Physics SDK é uma biblioteca C++ para detecção de colisões em tempo real e simulação multifísica, usada em jogos, VR, robótica e machine learning.