Scratchの物理演算作品を大特集!
僕がこれまで出会ってきた超面白い物理演算のScratch作品を紹介しているよ!
新着・更新された作品
物理演算
物理演算のスクラッチゲーム集1件を厳選してお届けしています。
#01 2D物理エンジン 100%pen ◇ Updated
- 12件
- 11件
- 206回
- ©
- 2024.9.15
遊び方
| アクション | 対応キー |
|---|---|
| 設定メニューの表示・非表示 | スペースキー |
| 物理エンジンの停止・再生 | Pキー |
| カメラ移動 | Mキーを押しながらドラッグ |
| カメラの拡大・縮小 | Mキーを押しながら↑・↓キーまたはマウススクロール |
| テンプレートを開く | Tキーを押しながら数字キー(1-7) |
| 一つ前に置いたオブジェクトの削除 | Zキー |
| すべてのオブジェクトを削除 | Rキー |
| ボールを投げる(モード0) | 画面タッチしながらドラッグして離す |
| 壁を追加(モード1) | 画面タッチしながらスライドして離す |
| オブジェクト削除(モード2) | 削除したいオブジェクトをタッチ |
| オブジェクト移動(モード3) | オブジェクトをタッチして持つ |
| ジョイント設定(モード4) | くっつけたいオブジェクトを順にタッチ |
| 複数ボール配置(モード5) | 画面タッチしながらスライドして線状にボールを配置 |
| ひも配置(モード6) | 画面タッチしながらスライドしてボールでできたひもを配置 |
このスクラッチの物理エンジンのすごいところは、ペンのみでリアルな物理シミュレーションを実現している点だよ! 核心部分は「Position-Based Dynamics」という手法を使っていて、物体の位置を直接操作することで衝突や拘束を解決しているんだ。
特に注目してほしいのは「solveCollision」と「solvePosition」の処理。ボールどうしや壁との衝突を検出して、めり込みを解消する仕組みがエレガントに実装されているよ。制約解決の数学的アプローチが見事で、拘束条件を表す「constraint」変数を使って物体間の距離を適切に保つ計算が行われているんだ。
また「バーレット法」のようなステップ処理もあって、物理の計算精度と安定性を高めているのも特徴的。プログラム全体を見ると、シンプルなルールの積み重ねで複雑な物理現象を表現する面白さがわかるはず!