【初心者向け】アクションゲームメーカーのキャラクター設定5(AttackArea2D、AttackCollisionで登場するパラメータと当たり判定について)

2025年9月21日日曜日

AGMaker アクションゲームメーカー アクツク ゲーム開発

t f B! P L

こんにちは、AM0500です。

今回は、AttackArea2D と AttackCollisionなど当たり判定関連のノードの説明になります。

AttackArea2D


モニタリング(Monitoring)

ON にすると、他の当たり判定オブジェクトがこの AttackArea2D の領域に入ったり出たりするイベント(シグナル)が発生します。攻撃発動・ヒット判定などに使います。

モニター可能(Monitorable)

他のノードからこの Area を監視できるかどうか。相互に検知を行いたい場合に必要です。

優先順位(Priority)

重なりの競合時や複数の AttackArea2D が重なる時の処理の優先度を決めます。数値が大きいほど優先順位が高くなります。

重力(Gravity) / 領域のオーバーライド

攻撃領域を動かす場合など、重力影響や領域形状を動的に変えるオーバーライド設定があることがあります(スクショでは「重力」の項目はありますが、AttackCollision や CollisionShape2D のような領域形状は「線形減衰」「角度減衰」等の設定もあります)。

オーディオパス(Audio Path) / 名前(Name)

名前をつけて判定対象を識別したり、Audio パスでヒット時の音を飛ばす設定を行うことがあります。


AttackCollision

シェイプ(Shape)

RectangleShape2D, CircleShape2D などの形状を選ぶ。
攻撃の形状(前方のみ、範囲攻撃、近接攻撃など)に合わせる。

無効(Disabled / Enabled)

攻撃判定を一時的に無効にする設定。
例えばアニメーションの切り替え中や、攻撃ウィンドウ外。

One Way Collision / One Way Collision Margin

攻撃判定を一方通行にするかどうか。
例えば、上から下に落ちてくる攻撃だけを当てたいときなどに使う。

デバッグカラー(Debug Color)

ヒットボックスを目視で確認したいときに使う色の設定。ゲーム制作中の調整に便利。


CollisionShape2D / HitCollision との関連系

類似するパラーメタとして、CollisionShape2D / HitCollisionがあり、どちらも同じようなパラメータになっています。

ゲームを作る際には、キャラクターやオブジェクトが「どこに当たったか」を判定する仕組みが必要です。見た目の画像やアニメーションだけでは衝突は起きないため、専用の「当たり判定(コリジョン)」を設定します。ここでは、特によく使う CollisionShape2DHitCollision について解説します。


CollisionShape2D(コリジョンシェイプ)

CollisionShape2D は、キャラクターや物体の「体の枠」を定義するためのノードです。
見た目の画像に直接当たり判定があるわけではなく、別途このノードで形を指定する必要があります。

  • 主な用途

    • プレイヤーが床や壁にぶつかる範囲を決める

    • 敵やアイテムと接触したかどうかを判定する

    • 移動やジャンプなどの挙動に物理的な制約を与える

 例えるなら「キャラクターの見えない体の輪郭」をゲームに教えているイメージです。

HitCollision(攻撃判定)

HitCollision は、攻撃やダメージ処理のために使う当たり判定です。
キャラクターが剣を振ったりパンチをしたときに、「どの範囲に攻撃が当たるか」を一時的に判定します。

  • 主な用途

    • 剣を振ったときに敵へ当たる範囲を指定

    • 飛び道具や弾が敵に当たったかを判定

    • 必殺技など広範囲攻撃の判定を作る

 通常は無効(非表示・非アクティブ)にしておき、攻撃アクションのタイミングだけ有効化するのが一般的です。


【実践テクニック】「気持ちいい攻撃」を作るための3つのコツ

判定を置くだけでも攻撃は成立しますが、プレイヤーが「納得感」を得られる設定には、いくつかの秘訣があります。

① 判定は「見た目より少し広め」が基本

剣を振るアニメーションの場合、エフェクトの端まで判定を置くのではなく、プレイヤーにとって有利な方向に少しだけ広げるのがアクションゲームの定石です。 「当たったと思ったのに当たっていない」というストレスを最小限に抑えることで、操作感が劇的に向上します。

② 判定の「発生タイミング」を絞る

アニメーションの全フレームに判定を置くと、不自然な場所で敵がダメージを受けてしまいます。

  • コツ: 剣を振り抜く「最も勢いのある数フレーム」だけにAttackCollisionが有効になるよう、アニメーションエディタ側で制御しましょう。これにより、メリハリのある攻撃演出になります。

③ 多段ヒットの制御(Attack IDの活用)

1回のスイングで敵に何度もダメージが入ってしまう場合は、AttackArea2DのプロパティやVS(ビジュアルスクリプト)で「一度当たった敵には、その攻撃が終わるまで再判定を行わない」というフラグ管理が必要です。 これにより、「一撃の重み」を正しく表現できるようになります。

前の記事:【初心者向け】アクションゲームメーカーのキャラクター設定4(MoveAndJumpSettingsで登場するパラメータについて)

このブログを検索

アクションゲームメーカーでタイトル画面からゲーム本編へ切り替える基本手順(画面遷移のやり方)

 こんにちは、AM0500です。 今回は、アクションゲームメーカー(AGM)で タイトル画面から実際のゲームシーンへ移動させる手順 をまとめます。 AGMでは、シーンの移動を個別のプログラムで書くのではなく、 「SceneTransition」という専用の画面 で一括管理します。...

最近の投稿

記事まとめ

自己紹介

自分の写真
飼い猫のモイちゃんに朝5時に起こされる生活が続いたのでAM0500と名付けました。モイちゃんへの愛でゲーム制作にも挑戦しはじめて、素人ながらも、モイちゃんを主役にしたゲームを作り上げた時の喜びは忘れられません。そこから趣味でゲーム開発を始めました。勉強中の身ですがよろしくお願いします。

QooQ