刀で敵を攻撃できるようにする(トレースを使用する方法)

1. 刀のソケットを作成する

プレイヤーキャラクターのスケルトンエディタを開き、刀の始点と終点のソケットを加える。
[hand_r]の子に[Katana_TopSocket]と[Katana_BottomSocket]を作成する。


2. Anime Notify Stateクラスのブループリント を作成する

AnimeNotifySateクラスのブループリントを作成し、[DealDamageNotify]と名付ける。

[DealDamageNotify]のMyBlueprintパネルのFunctionsのOverrideから[Received Notify TIck]を選択する。

そして以下のようにブループリント を組む。


3. アニメーションにNotify Stateを設定する

攻撃アニメーションを開き、攻撃の瞬間をNotify Stateで定義する。
タイムライン上の攻撃の瞬間に[AddNotifyState]から[DealDamageNotify]を選択する。

これで、攻撃をするとNotifyStateで定義した間の刀の軌跡が表示されるようになった。


4. ダメージ処理を実装する

[DealDamageNotify]を開く。
[SphereTraceByChannel]ノードの[Out Hit]ピンを右クリックし、[Sprit Struct Pin]をクリックする。

そして以下のようにブループリントを組む。

次に敵キャラクターのブループリントを開き、ダメージを受けた時にアニメーションを再生する処理を書く。

最後に、[DealDamageNotify]の[SphereTraceByChannel]ノードの[DrawDebugType]ピンを[None]に変更し、デバッグ用の刀の軌跡を表示しないようにすれば完成。