5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AnimNotifyを使用して当たり判定を可視化してみる

Last updated at Posted at 2021-12-13

はじめに

この記事はUnreal Engine 4 (UE4) その1 Advent Calendar 2021の11日目の記事になります。

AnimNotifyを使用した当たり判定の可視化について解説したいと思います。
最後までお付き合いよろしくお願いします!

難易度

甘口
初心者でも簡単に実装する事が出来ます。
気軽に挑戦してみてください。

検証環境

Unreal Engine 4.27.2

AnimNotifyについて

アニメーション制御をあまりしていない人だと馴染みがないかもしれませんが
アニメーションにエフェクトやサウンドを仕込んだりするあれです。
今回はこの呼び出し処理を自作します。
image.png

実装手順

AnimNotifyの生成

AnimNotifyとAnimNotifyStateがあり
今回はAnimNotifyStateを選択し「ANS_ShowCollision」とリネームしましょう

image.png
image.png

AnimNotifyStateの呼び出し

適当なモーションを開き
「通知ステートを追加」を確認すると「ANS_ShowCollision」が追加されている事がわかります。
image.png

アニメーションの指定フレーム間だけ更新するという処理が簡単に実装する事が出来ます。
image.png

【補足】AnimNotifyについて

AnimNotifyは1フレームだけ呼び出しが可能な通知イベントです。
特定のフレームに音を再生するなどで使用される事が多いです(例 : 材質によって足音を変えたい時など...)
基本的な実装方法はAnimNotifyStateと同じなので今回は省略いたします。

image.png
image.png

AnimNotifyStateの実装

各関数をオーバーライドする事で機能を実装する事が出来ます。

「Received Notify Begin」 ・・・通知が開始した時に呼び出される。
「Received Notify End」 ・・・通知が終了した時に呼び出される。
「Received Notify Tick」 ・・・開始と終了のアニメーションが更新されている間呼び出される。

image.png

今回は当たり判定を可視化する機能を実装するので、
下記、関数・変数を追加してください。
※ アニメーション上で操作を行いたいので「編集可能状態」にする事を忘れずに!
image.png

実装はとても簡単
「DrawDebugSphere」関数を呼び出し以下のように実装してください。
image.png

DrawDebug...を関数で検索すると
色々な形状のデバッグ表示を行う事が出来るのでどんどん活用していきましょう
image.png

アニメーションを確認するとグレイマンの原点に白い球体が表示されている事がわかります。
ezgif.com-gif-maker (2).gif

先ほど編集可能にした変数群が詳細パネルに表示されているで
各アニメーションに適したパラメータを設定してあげましょう。

image.png

上記パラメーターを調整しながら実装した例がこちらになります。
各アニメーションに合わせてデバッグ用のコリジョンが生成されているのがわかります。
ezgif.com-gif-maker (3).gif

今回の解説はここまでです。
現状ではコリジョンを可視化しただけで、可視化した場所にコリジョンを生成する必要があります。
生成方法については別の記事でまとめますのでお待ちいただければ幸いです。

あとがき

今年もAdventCalendarに参加出来て楽しかったです。
来年からは自作ゲームで使用している技術解説もどんどん出していこうと思っているので
ぜひよろしくお願いいたします!!

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?