# 物理演算についてのチュートリアル

**URL:** <https://guild.rpgmakerofficial.com/t/topic/3288>\
**Category:** 一般\
**Created:** [2026 年 10 月 11 日午前 4:29 UTC](https://guild.rpgmakerofficial.com/t/topic/3288 "2026-10-11T04:29:51Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![Baz](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/baz/32/100_2.png) [@Baz](https://guild.rpgmakerofficial.com/u/Baz)\
**Post date:** [2026 年 10 月 13 日午後 9:40 UTC](https://guild.rpgmakerofficial.com/t/topic/3288/2 "2026-10-13T21:40:43Z")

</div>

私が調べた限りでは、公式の物理演習チュートリアルはまだありません。[ノード追加]リストにある[PhysicsGameObject]ノードは未完成で、エディタ内の説明には「未実装」と記載されており、ビジュアルスクリプトでもこれを使用しているものは見つかりませんでした。そのため、今回はこのノードは一旦おいておいたほうがよいでしょう。ただし、通常のGodotの物理演算はAGMakerで機能しており、試す最も簡単な方法は、プレイヤーが押せる箱を用意することです。

1. ルートにRigidBody2Dを持つ新しいシーンを作成し、その下にCollisionShape2DとSprite2Dを追加して保存します。
2. RigidBody2DでMass（質量）を設定し、[Physics Material Override]（物理マテリアルオーバーライド）の下で新しいPhysicsMaterialを追加し、Friction（摩擦）とBounce（反発）を設定します。
3. Collision Layer（衝突レイヤー）とMask（マスク）をプレイヤーの壁衝突に合わせて設定します。そうしないと、プレイヤーとオブジェクトが互いにすり抜けてしまいます。
4. シーンをマップに配置して再生します。オブジェクトは落下し、着地してその場に留まるはずです。
5. 公式サンプル投稿からCA\_PushRigidBody.gdをダウンロードし、プロジェクトフォルダ内の任意の場所に配置します: [カスタムアクションプラグイン公式サンプル](https://guild.rpgmakerofficial.com/t/topic/1779)
6. プレイヤーに[Push RigidBody]（剛体を押す）アクションを歩行状態に追加します。この状態が実行されている間、プレイヤーが接触したRigidBody2Dは押され、Push Force（押す力）でその強さを設定できます。

Moonlingは、さまざまなボディタイプとその用途についてまとめており、特定のオブジェクトにどのタイプを割り当てるべきかの判断に役立ちます:

> [@マニュアル: GameObjectノードとGodotの各Bodyノードについて](https://guild.rpgmakerofficial.com/t/topic/985):
>
> GameObjectノードと、Godotでよくルートノードとして利用されるノード Godotでは、さまざまなタイプのノードをゲームオブジェクトのルートとして利用できます。しかし、現時点では ACTION GAME MAKER のヴィジュアルスクリプトでは GameObject ノードをルートノードにする必要があります。 ACTION GAME MAKER の GameObject ノードは Go…

制限事項として、ビジュアルスクリプトはルートがGameObjectであるオブジェクト上でしか実行されないため、上記の箱には独自のスクリプトを付与できません。ビジュアルスクリプトで反応する物理オブジェクト（例えば、プレイヤーにダメージを与える瓦礫など）が必要な場合、MoonlingはRigidBody2Dの子ノードと、両者を一緒に保つための小さなスクリプトを持つGameObjectを投稿しています。これはコンセプト実証としてマークされているため、これを基に構築する前に少しテストすることをお勧めします:

> [@自律移動不可だがヴィジュアルスクリプトが扱える物理オブジェクトの解説](https://guild.rpgmakerofficial.com/t/topic/1331):
>
> 色々試していたところ、 「自分自身をヴィジュアルスクリプトで動かすことはできない」が、物理によって動き、ヴィジュアルスクリプトで判定などを行うことができるゲームオブジェクトをスクリプトで実現できたため共有させてもらいます。 あくまでできたので共有してみる程度で実用にはもう少し検証などがいりそうだとは思います。 ◆ゲームオブジェクト本体 [go\_physics\_controller.zip](https://guild.rpgmakerofficial.com/uploads/short-url/xiBM25PSudOV8JBCU0cGc0UKDBj.zip) (…

もしあなたが探しているものがコンベアベルト、ジャンパッド、または風のようなものに近い場合、2.0で追加されたForce Area（力領域）とSet Object Velocity（オブジェクト速度の設定）を使えば、上記の手順なしで実現できるかもしれません:

> [@マニュアル: オブジェクトの速度と強制移動エリア](https://guild.rpgmakerofficial.com/t/topic/2798):
>
> このマニュアルについて このマニュアルでは、ACTION GAME MAKER でオブジェクトに速度を与える 2 つの機能、実行アクション「オブジェクトの速度を設定(SetObjectVelocity)」とマップ要素「強制移動エリア(ForceArea2D)」について解説を行います。 ACTION GAME MAKER での速度の概要 オブジェクトの移動は、ふだんは移動テンプレートやプレイヤーの…

---

_[View the full topic](https://guild.rpgmakerofficial.com/t/topic/3288)._
