シヴァのブログ

UnityやUE4や趣味とかいろいろ...

「Unreal Engine」Dynamic Sword Animsetでコンボ攻撃を作ってみた

「Dynamic Sword Animset」を使ってコンボ攻撃を作ってみました。

っていうメモ。


www.youtube.com

簡単に中身を確認。
アニメーション:待機、攻撃、防御、ノックバック(ダメージを受ける)、しゃがむ、モノを拾う
ブレンドスペース:待機、歩く、走る、しゃがむ
レイマン、剣、盾(剣と盾にはマテリアルなし・ローポリ)

f:id:shivaT:20161207195410p:plain:w300 f:id:shivaT:20161207200323p:plain:w300
Animation
  • AimOffsets[*]
  • InPlace(移動値なし)
  • RootMotion(移動値あり)

[*]Aim Offsetは、走る、歩く、ジャンプなどの他のモーションとブレンドされ、
キャラクターが全ての方向をスムーズに見ているようにする役割がある。

参考サイト:Unreal Engine | Aim Offset


ここからコンボ実装のメモ。

キャラクターの設定
キャラクター ブループリント
f:id:shivaT:20161207200408p:plain:w300 f:id:shivaT:20161208133728p:plain:w300

武器を手にアタッチする方法は以下のサイトが確実に分かりやすいのでメモしません。
UE4 ソケットのアタッチをノードを使わずに行う - Let's Enjoy Unreal Engine

アニメーションモンタージュ

アニメーションモンタージュ作成

f:id:shivaT:20161208143111p:plain:w300 f:id:shivaT:20161208135014p:plain:w300

アニメーションを追加し、新規モンタージュセクションを追加

f:id:shivaT:20161208135308p:plain:w300 f:id:shivaT:20161208141741p:plain:w300

通知を追加し、それぞれの次のアニメーションの始まりより前に設定(エレメントタイミングを見ながら調整する)

f:id:shivaT:20161208135327p:plain:w300 f:id:shivaT:20161208143146p:plain:w300
次にアニメーションブループリントを書く
Initializeイベント EventSwordAttck(カスタムイベント)
f:id:shivaT:20161208143636p:plain:w300 f:id:shivaT:20161208143947p:plain:w300

EventBlueprintUpdateAnimation

f:id:shivaT:20161208144512p:plain:w300 f:id:shivaT:20161208144532p:plain:w300

全体
f:id:shivaT:20161208150700p:plain:w600

ステートを組む(Locomotionの中身に色々書いてますが、あまり気にしないでください)
ステートの中身 Locomotionの中身
f:id:shivaT:20161208145854p:plain:w300 f:id:shivaT:20161208150129p:plain:w300
完成

youtu.be

余談

今の状態だと、歩きながら攻撃すると滑っているように移動する。
対処方法として、アニメーションをブレンドするか、
そもそも攻撃中は移動させないようにして下さい。

あとは、最後のモーションの後続けてボタンを押すとはじめからの攻撃が始まるのでなんとかして下さい。

参考サイト:
UE4 AnimMontage(アニメーションモンタージュ)について 実践編 - Let's Enjoy Unreal Engine

・18~20までの連番
サードパーソン ブループリント ゲーム入門 (18) アニメーション ブループリント パンチのセットアップ | UE4 の学び部屋