以下の内容はhttps://www.karvan1230.com/entry/2021/01/12/212534より取得しました。


【Unity】複数のアニメーションをLayerを使ってブレンドする

大寒波

数年に一度の大寒波でこの三連休は一歩も外へ出ていない皆さんこんにちは。子供頃は雪が降ると大はしゃぎだったのに、大人になると憂鬱で仕方ないのは何故でしょう?

 

結果発表

unity1weekの評価期間も終わり、私の作品についても結果が発表されました。

相変わらず各指標が3点台という箸にも棒にも掛からぬ結果になったわけですが、振り返るともっと演出に力を入れたらよかったなぁとか、最初のステージをもっと簡素にしてボスを早めに登場するようにしたら良かったなぁとか、色々と反省点が思い浮かびます。

unity1weekのゲームを実況している方の配信を見たのですが、私のゲームに関しては、かなり簡単だと思っていた最初のステージすら苦戦しており、見せ場のボス戦にも到達できずじまいで終わっていました、こちらの意図通りに操作してもらう難しさを学びましたね。

 

unityroom.com

 

アニメーションを設定する

そんな今回の作品。いわゆるランゲームというやつで、キャラクターが走りながら敵を攻撃しゴールを目指す、という形式なのですが、自機となるキャラクターには「Cyber Girl」というアセットを使用しています。

assetstore.unity.com

このアセットを使用した理由は、unityroomに投稿されているゲームやtwitter等で目にする個人製作のゲームの殆どで主役となるキャラクターには女性が起用されていることに気づいたからです。

ゲーム制作者って圧倒的に男性が多いと思うのですがね、何故か主役が女性のゲームを作っている方が多い気がします。

理由は分かりませんがとりあえず需要があるのだろうと言う事で、元々制作中の脱出ゲームの為に購入していた「Cyber Girl」のモデルを自機とすることにしました。

 

しかし、このアセットはモデル単体のみが販売されているアセットなので、それだけではでくの坊のまま、当然ながら走るとか、攻撃するなんてアニメーションは自分で設定することになります。

 

f:id:Karvan:20210112210955p:plain

 アセットストアから購入した段階のモデル

 

なので、それらのアニメーションの方もアセットストアから購入しました。

プロモーションの動画を見ても滅茶苦茶カッコいい。

assetstore.unity.com

www.youtube.com

 

今回はこのアセットに梱包されている「走る」アニメーションと

f:id:Karvan:20210112211255g:plain

 

「攻撃」アニメーションを先程のCyberGirlのモデルに設定することにしました。

f:id:Karvan:20210112211400g:plain

 

動作をブレンドする

先程の3DモデルにはAnimation TypeとしてHumanoidが設定されているので、通常は設定したいアニメションをAnimtorで設定するだけで使用することが出来るのですが、今回の場合は「走りながら敵を攻撃」したいので「走る」動作と「攻撃」動作をブレンドする必要がありました。

 

こういった場合は「走る」動作をベースに「攻撃」動作を加算して作る方法があります。

まず、Animator ControllerのLayerを「走る」動作、「攻撃」動作それぞれで分けて設定します。

 

f:id:Karvan:20210112211635p:plain

 Base Layerに「走る」動作、Attack Layerに「攻撃」動作を設定します。

その後、Attack Layer側のBlendingに「Additive(加算)」を設定し、Weightで重みを設定します。

 

実際に動かしてみると・・・

f:id:Karvan:20210112211815g:plain

・・・ん~、なんか変。攻撃の動作に走っているときの姿勢が加わっているので前傾姿勢過ぎて攻撃している感がありません。

良く考えると「走る」動作に必要なのは「両足」だけなので、それ以外部分は「攻撃」動作させれば良いことに気づきます。

 

AvatarMask

こんな時はAvatarMaskを使って特定の箇所のボーンの動作を上書きするようにします。

 Avatar MaskはProjectタブで右クリック→Create→Avator Maskで作ることができます。

f:id:Karvan:20210112212110p:plain


Avator Maskでは四肢と頭、胴体それぞについてマスクするか設定できるので、今回は両足をマスクすることにします。

 f:id:Karvan:20210112212135p:plain

 

Attack Layer側のBlendingに「Override(上書)」に変更し、Maskの項目に作成したAvator Maskを設定します。

f:id:Karvan:20210112212201p:plain

 

これで実行すると

f:id:Karvan:20210112212245g:plain

 それっぽい動作をさせることが出来ました。めでたしめでたし。

 




以上の内容はhttps://www.karvan1230.com/entry/2021/01/12/212534より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14