しんばりん日記

ue4を使ってのゲーム制作ブログです。間違いを指摘していただけると助かります!

攻撃してみる:アニメーション作成(2)

今更だけどブログ名が日記なのはどうなんだろ...まぁいっか

今回は前回の続きでアニメーションですね。

 

前回はアニメーションを作成しただけで終わったので、今回はアニメーションBPにセット、ブレンドあたりをやってみます。

 

公式ドキュメントとにらめっこしながら作成していきます...

 

まずはアニメーションBPを開きます。

アニムグラフのDefaultから出力された結果を出力されているようですね。

中身をみると、立ち、歩き、ジャンプなど基本的な遷移が完璧にできていますね。

ここはいじらず、せっかくなので出力された結果をブレンドすることにします。

 

というわけで、Defaultの結果をキャッシュに保持し、それをBlendします。

今回使用するブレンドの関数は Layered Blend Per Bone です。

ボーンを指定し、その先から影響してくれる便利なブレンドですね。

えぇ、本当に便利です。

f:id:sinvary:20190125003206p:plain

[ボーン毎のレイヤードブレンド]というのはLayered Blend Per Boneのことですね。

その設定として、BoneName等を指定しています。

BlendDepthはどのくらいブレンドするか、みたいですね。

数値が大きければ大きいほどだんだんブレンド「されなくなる」みたいです。

また、-の値はブレンドされませんでした。

0でもブレンドはされたのでデフォルトでいいかもしれませんね。

MeshSpaceRotationは現在のメッシュの角度に応じた角度(ローカル座標てきな?)でブレンドするみたいですね。

今回、走っていても肩より上に腕を上げたアニメーションをしたかったのでチェックをいれました。

チェックを外した場合、例えばお辞儀をした状況でアニメーションをした場合だと腕は地面に向けます。

他はよくわからないので今回はスキップ。

 

f:id:sinvary:20190125004433p:plain

[走り]と魔法使用のブレンド結果です。

ただ、今回のアニメーションだけだと腕をあげる→あげきる→腕がパッっと戻る

と挙動がおかしいので、デフォルトアニメと同様なステートを作成する必要がありそうです。

 

f:id:sinvary:20190125004928p:plain

とりあえずループアニメなどの作成は後回しにして、

新規のステート...を選択し、名称を決めてDefaultAnimに行ったことと同様にキャッシュ、ブレンドにつなぎます。

ステートマシンの内容は適当に。

MagicAttackに攻撃アニメを入れましたがStateの中は何もないです。

変数を追加し、遷移に必要な条件として仕込みました。

 

 

本日はこんな感じで。

次はステートマシンの完成、その次くらいに実際に攻撃した際に再生する、ぐらいですかね。

うん、いい調子だ...