← Blog
PhysicsArchitecturePerformanceCanvas API

自前物理エンジン180行の限界点 — Matter.jsを捨てた理由と、カバーできなかったこと

更新 2026年5月27日16 分で読める

このトピックを深掘りする

Canvas vs DOM・インタラクティブUI

CanvasとDOMの使い分け・CSSインタラクション・カスタム物理エンジン・ポートフォリオ設計

全5本中 4 本目。

このトピックの記事一覧

シリーズ全体の流れを見ながら、次に読む記事へ進めます。 初めての方は /start →

よくある質問

Q. Matter.jsの代わりに自作物理エンジンを使うメリットは何ですか?
バンドルサイズが300KBから4KBに削減でき、Tree-shakingも可能になる。さらに挙動を完全に理解しているためデバッグが速く、コンポーネントごとの物理チューニングも容易。
Q. 166行の物理エンジンでカバーできない機能は何ですか?
拘束ソルバー(二重振り子など)、摩擦、スタッキング安定性、連続衝突検出(CCD)、多角形衝突(SAT)の5つ。それぞれ20〜50行の専用コードで個別に対処した。
Q. 自作物理エンジンで何体まで安定して動作しますか?
O(n²)の全ペア衝突検出で100体程度まで問題なく動作する。1000体を超えるとボトルネックになるが、ポートフォリオの用途では100体を超えることがほぼない。