게임과 VR 애플리케이션을 위한 멀티코어 친화적인 C++ 강체 물리 및 충돌 감지 라이브러리입니다.
liabru/matter-js
JavaScript로 작성되어 브라우저와 Node.js에서 실행되는 웹용 2D 강체 물리 엔진입니다.
- 스타
- 18,600
- 포크
- 2,000
- 열린 이슈
- 280
- 마지막 커밋
- 지난달
어떤 프로젝트인가요?
Matter.js는 웹용으로 JavaScript로 작성된 2D 강체 물리 엔진입니다. 충돌, 중력, 마찰, 반발력과 구속 조건을 처리하므로, 개발자는 물리 코드를 직접 작성하지 않고도 캔버스 기반 게임, 인터랙티브 그래픽, 시뮬레이션에 그럴듯한 물리 움직임을 더할 수 있습니다.
엔진은 강체, 복합체, 오목한 물체를 지원하며 SVG 경로와 지형으로 만든 도형도 다룰 수 있습니다. 레이캐스팅과 영역 테스트 같은 충돌 질의, 슬로 모션 효과를 위한 시간 배율 조정, 확대·이동이 가능한 뷰, 벡터와 텍스처를 그릴 수 있는 캔버스 렌더러를 제공합니다. 정지한 물체는 슬립 상태로 전환할 수 있으며, resurrect.js를 사용해 월드 상태를 직렬화할 수 있습니다.
Matter.js는 Chrome, Firefox, Safari, IE8+와 Node.js에서 실행됩니다. npm이나 Yarn으로 설치할 수 있고, script 태그 하나로 불러올 수도 있습니다. 플러그인 시스템과 다양한 데모 및 API 레퍼런스도 제공합니다.
핵심 기능
- 01충돌 감지 기능을 갖춘 강체, 복합체, 오목한 물체 지원
- 02중력, 마찰, 반발력 및 구속 조건
- 03충돌 확인을 위한 레이캐스팅 및 영역 질의
- 04벡터 도형과 텍스처를 지원하는 캔버스 렌더러
- 05시간 배율 조정, 확대 기능이 있는 뷰, 슬립 상태의 물체
- 06플러그인 시스템, 브라우저 및 Node.js에서 실행
활용 사례
- 브라우저에서 새총 게임이나 블록 쌓기 퍼즐 같은 2D 물리 게임 제작
- 캔버스 기반 웹 애니메이션에 인터랙티브한 물리 움직임 추가
- Node.js에서 헤드리스 물리 시뮬레이션 실행
- 다리, 자동차, 진자 같은 기계 시스템 프로토타이핑
빠른 시작
- 1
npm에서 패키지를 설치하세요
npm install matter-js - 2
최소 사용 예제는 Wiki의 「Getting started」 페이지를 참고하세요
사용 전 알아둘 점
- README에서는 master 브랜치의 알파 빌드를 실험용으로 표시합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- matter-js은(는) 무엇인가요?
- JavaScript로 작성되어 브라우저와 Node.js에서 실행되는 웹용 2D 강체 물리 엔진입니다. Matter.js는 웹용으로 JavaScript로 작성된 2D 강체 물리 엔진입니다. 충돌, 중력, 마찰, 반발력과 구속 조건을 처리하므로, 개발자는 물리 코드를 직접 작성하지 않고도 캔버스 기반 게임, 인터랙티브 그래픽, 시뮬레이션에 그럴듯한 물리 움직임을 더할 수 있습니다.
- matter-js은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- matter-js은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- matter-js은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. matter-js의 마지막 커밋은 2026년 9월 30일입니다.
- matter-js은(는) 어디에 사용할 수 있나요?
- 브라우저에서 새총 게임이나 블록 쌓기 퍼즐 같은 2D 물리 게임 제작 캔버스 기반 웹 애니메이션에 인터랙티브한 물리 움직임 추가 Node.js에서 헤드리스 물리 시뮬레이션 실행 다리, 자동차, 진자 같은 기계 시스템 프로토타이핑
- matter-js는 어떻게 설치하나요?
- npm에서 패키지를 설치하세요: npm install matter-js 최소 사용 예제는 Wiki의 「Getting started」 페이지를 참고하세요
- matter-js은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/liabru/matter-js
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Rust로 작성된 Bevy 게임 엔진 전용 ECS 기반 2D·3D 물리 엔진입니다.
HTML5 게임 개발을 위한 Box2D 2D 물리 엔진의 JavaScript/TypeScript 재작성 버전입니다.
접촉하는 다관절 물체를 빠르고 정확하게 시뮬레이션하는 범용 물리 엔진으로, 로보틱스와 머신러닝 연구에서 널리 사용됩니다.
게임, 애니메이션, 로보틱스를 위한 Rust 기반 2D·3D 물리 엔진으로 C, Python, JavaScript, Bevy 바인딩을 제공합니다.
게임, VR, 로보틱스, 머신러닝에 사용되는 실시간 충돌 감지 및 다중 물리 시뮬레이션용 C++ 라이브러리 Bullet Physics SDK입니다.