프로젝트 소개

Matter.js는 웹용 JavaScript 2D 강체 물리 엔진으로, 포트가 아닌 독창적인 구현으로 설명됩니다. npm 및 Yarn(npm install matter-js) 또는 스크립트 태그를 통해 배포되며, 브라우저와 Node.js를 지원하고 모바일 터치 및 반응형 레이아웃을 포함합니다. 프로젝트가 나열한 핵심 기능은 강체, 복합체 및 합성체, 오목 및 볼록 껍질, 질량·면적·밀도와 같은 물리적 속성, 탄성 및 비탄성 충돌을 위한 반발 계수, 다단계 충돌 감지(광역, 중간, 협역), 안정적인 적층 및 정지, 운동량 보존, 마찰 및 저항, 이벤트, 제약, 중력, 슬리핑 및 정적 본체, 모서리 둥글림(챔퍼링), 이동 및 확대/축소가 가능한 뷰, 레이캐스팅 및 영역 테스트와 같은 충돌 쿼리, 슬로우 모션 또는 가속을 위한 시간 스케일링, 벡터 및 텍스처를 지원하는 캔버스 렌더러를 포함합니다. 엔진은 플러그인을 통해 확장할 수 있으며, 위키 페이지에서 플러그인 사용 및 생성, 플러그인 목록, 보일러플레이트 저장소를 다룹니다. 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에 있습니다. 프로젝트는 번들러와 프레임워크가 기본 구성, 특히 개발 모드에서 실시간 성능을 저하시킬 수 있다고 언급하며, Webpack 소스맵 설정과 Vue.js 감시자를 예로 들고 관련 이슈 토론에 링크합니다. Matter.js는 MIT 라이선스로 제공되며, 저작권은 2014 Liam Brummitt이며, 보증은 제공되지 않습니다.