無敵に関しての質問

無敵に関して2点気になることがあるので、質問させてください。

1.のけぞり時に何故か多段ヒット扱いになる

自作品では「ダメージを受けた瞬間」にのけぞり絵のHitCollisionを無効にしているので、本来なら1ヒット目でヒットする要素は無くなるはずなのですが、1つの攻撃判定に複数回当たってしまうことがあります(ダメージが2~3回くらい入る)。2回ならフレーム遅延であるかも…とは思うのですが3回以上当たる時があるのはバグなのか仕様なのか、お聞きしたいところです。

2.のけぞり以外のノードInvinciblesettingでの無敵の設定
画像のような無敵に関するデータを作り「被ダメージ後の『起き上がり』の瞬間から無敵が始まる」ようにしたいと考えています。起き上がりモーション中に「起き上がり無敵」のスイッチをオンにしている(つまりここで無敵が始まるはず)のですがなぜか無敵にならず、次にダメージを受けたときに上記の無敵時間が再現されてしまう状況になっています。デバッグ機能でゲーム中のスイッチの状況を確認できれば良いのですが、ゲーム中のスイッチ状態を確認できる機能が見当たらず、困っております(ちゃんと「起き上がり無敵」のスイッチが機能しているのか確認したい)。

分かりにくかったらすみません。よろしくお願いいたします。

#1に関して、無敵時間の長さが0.02より長い場合、複数のヒットは依然として登録されますか?

#2. AGMには、オブジェクト作成時に作成できるスイッチラベルデバッガーがあり、それをテストしたいオブジェクトにコピーして貼り付けることができます。インスペクターでパラメータを設定できます。このプロセスのビデオを以下に示します。参考になるかもしれません:

返信の方、遅れて大変申し訳ありません。

スイッチラベルデバッガーの情報ありがとうございます。時間のある時に調べて、必要があれば導入しようかと思います。

#1への回答になりますが、無敵時間を設定(0.02秒)したところ、多段ヒットが発生しなくなりました。当たり判定を消しているので無敵にする必要が無いと判断、ヒット時に無敵にしていなかったのが原因なのかなと予想しております。

引き続きよろしくお願いいたします。

「いいね!」 1

これは、AttackArea2D の新しい「1 回の攻撃ごとにターゲット」設定を使用することで修正できます。次に、次の攻撃が発生するまでのクールダウン時間を設定できます。これは、衝突無効化方法よりも優れた設定です:

情報ありがとうございます。早速導入してみたいと思います。

しかしながら情報ですと「攻撃判定と当たり判定の接触は発生してしまう」仕様のようで、ダメージは無くてもヒットした判定になってしまう(本作では攻撃が当たった時にヒットマークを出すようにしています)ようです。

「命中時に攻撃判定をdisableにするような処理」が必要になると聞いたのですが、実際にその処理を行う方法が分からず困っております。こちらの攻撃が命中した時を条件に分岐させる方法があるのか、さらに「攻撃判定をdisableにする」アクションがあるのか。どちらも見つけられずにいます。可能であればご教授いただけたら嬉しいです。

ChangeObjectProperty を使用して、AttackArea2D ノードの子である AttackCollision ノードの disabled プロパティを設定できます。