奮闘記~武器の変更~

最近、TwinBlade(Sword)のアセットで完全自己満足アクションゲーを作ってます。

これですね。

f:id:Free_Gamer:20180704060501p:plain

二刀流(TwinSword)と両刃一刀流?(TwinBlade)の二種類あり、もう一つはTwinBladeとTwinSwordを瞬時に切り替える変形モーションもあります。(ブラッドボーンみたいな感じ)

なかなかかっこいいモーションが多いのでお勧めですね。

 

今回は、変形モーションで苦戦した話をします。

 

※まだ試行錯誤してる段階なので、これで確定かどうかは分かりません。

 

武器を持ったプレイヤーを作成。

f:id:Free_Gamer:20180704060930p:plain

右手武器・・・Weapon_r

左手武器・・・Weapon_l

 

f:id:Free_Gamer:20180704061330p:plain

Weapon_rは「Weapon_r」という名のソケットにアタッチ。

Weapon_lは「WeaponAttach」という名のソケットにアタッチ。

f:id:Free_Gamer:20180704061555p:plain

f:id:Free_Gamer:20180704061610p:plain

イベントグラフに武器変更の入力イベントを作成。(イベントディスパッチャー)

f:id:Free_Gamer:20180704063043p:plain

 

TwinBladeとTwinSwordの「Idle_Walk_Run」を用意する。

f:id:Free_Gamer:20180704063916p:plain

 

次に、武器変更モンタージュを作成。

f:id:Free_Gamer:20180704062052p:plain

TwinBlade→TwinSword変更モーションとTwinSword→TwinBlade変更モーション両方上の画像のような作りにしました。

ChangeWeapon・・・武器を変更した際の通知

TransEnd・・・武器変更終了通知(アニメーション終了する場所に配置)

youtu.be

 

動画のように、ちょうどプレイヤーが武器を入れ変えるモーションをしているタイミングにChangeWeapon通知を配置してるのが分かると思います。

 

AnimBP

f:id:Free_Gamer:20180704062850p:plain

連打した時にモーションが荒ぶらないようにDoOnceを。

Qキーを押したときに、変更モンタージュを再生する。

変更終了時、DoOnceのResetに処理が流れる。

そして、トランディションルール用のBool値をセットしてます。

A・・・TwinBlade→TwinSword(True)

B・・・TwinSword→TwinBlade(False)

 

TwinBlade→TwinSwordトランディションルール

f:id:Free_Gamer:20180704064235p:plain

TwinSword→TwinBladeトランディションルール

f:id:Free_Gamer:20180704064301p:plain

 

Animグラフでモンタージュ通知(ChangeWeapon)を追加

f:id:Free_Gamer:20180704064413p:plain

ChangeWeapon通知が来た時に、Weapon_lを左手のソケット「Weapon_l」にアタッチしています。

もう一度通知が来た時に、「WeaponAttach」ソケットに戻してます。

これで、自然に武器を切り替えるモーションが出来ました。

 

あとは、移動しながらでも自然に変更モーションを行いたいので、モーションをブレンドします。

f:id:Free_Gamer:20180704065033p:plain

Spine_01より上のボーンに対して変更モーションを適用します。

f:id:Free_Gamer:20180704065115p:plain

 

やってみましょう!

youtu.be

しっかり変更モーションが行われてますね!

 

さて、肝心の苦戦した話をします。

実は、最初は武器をソケットにアタッチして行っていませんでした。

ボーンにアタッチして行ってました。

f:id:Free_Gamer:20180704070015p:plain

「Ik_Hand_l」と「Ik_Hand_r」ですね。

理由は、このボーンにアタッチすることで攻撃モーション時にちょっと楽になるからです。

どういうことかというと・・・

例えば、武器をくるくる回す攻撃モーションがあるのですが、この時わざわざこっちで武器の回転アニメーションを作らなくても、もうすでに「Ik_Hand_r」「Ik_Hand_l」に回転アニメーション処理が搭載されているので、このボーンにアタッチしていたのです。

 

しかし、これには問題があり・・・

「Ik_Hand_l」「Ik_Hand_r」に武器をアタッチして変更モーション(ブレンドあり)をしたらどうなるかというと・・・

youtu.be

 

見ての通り、モーションと武器の動きがマッチしてません。

試行錯誤したのですが、結果「武器のアタッチはボーンじゃなくソケットにアタッチするのが良い。」というのが分かりました。

そもそも、武器のアタッチをボーンにすること自体どうやらおかしいみたいですw

 

なので、武器のアタッチはソケットにするもの!と覚えときましょう!

 

それではまた!^^ノシ