大寒波
数年に一度の大寒波でこの三連休は一歩も外へ出ていない皆さんこんにちは。子供頃は雪が降ると大はしゃぎだったのに、大人になると憂鬱で仕方ないのは何故でしょう?
結果発表
unity1weekの評価期間も終わり、私の作品についても結果が発表されました。
相変わらず各指標が3点台という箸にも棒にも掛からぬ結果になったわけですが、振り返るともっと演出に力を入れたらよかったなぁとか、最初のステージをもっと簡素にしてボスを早めに登場するようにしたら良かったなぁとか、色々と反省点が思い浮かびます。
unity1weekのゲームを実況している方の配信を見たのですが、私のゲームに関しては、かなり簡単だと思っていた最初のステージすら苦戦しており、見せ場のボス戦にも到達できずじまいで終わっていました、こちらの意図通りに操作してもらう難しさを学びましたね。
unityroom.com
アニメーションを設定する
そんな今回の作品。いわゆるランゲームというやつで、キャラクターが走りながら敵を攻撃しゴールを目指す、という形式なのですが、自機となるキャラクターには「Cyber Girl」というアセットを使用しています。
このアセットを使用した理由は、unityroomに投稿されているゲームやtwitter等で目にする個人製作のゲームの殆どで主役となるキャラクターには女性が起用されていることに気づいたからです。
ゲーム制作者って圧倒的に男性が多いと思うのですがね、何故か主役が女性のゲームを作っている方が多い気がします。
理由は分かりませんがとりあえず需要があるのだろうと言う事で、元々制作中の脱出ゲームの為に購入していた「Cyber Girl」のモデルを自機とすることにしました。
しかし、このアセットはモデル単体のみが販売されているアセットなので、それだけではでくの坊のまま、当然ながら走るとか、攻撃するなんてアニメーションは自分で設定することになります。
アセットストアから購入した段階のモデル
なので、それらのアニメーションの方もアセットストアから購入しました。
プロモーションの動画を見ても滅茶苦茶カッコいい。
今回はこのアセットに梱包されている「走る」アニメーションと
「攻撃」アニメーションを先程のCyberGirlのモデルに設定することにしました。
動作をブレンドする
先程の3DモデルにはAnimation TypeとしてHumanoidが設定されているので、通常は設定したいアニメションをAnimtorで設定するだけで使用することが出来るのですが、今回の場合は「走りながら敵を攻撃」したいので「走る」動作と「攻撃」動作をブレンドする必要がありました。
こういった場合は「走る」動作をベースに「攻撃」動作を加算して作る方法があります。
まず、Animator ControllerのLayerを「走る」動作、「攻撃」動作それぞれで分けて設定します。
Base Layerに「走る」動作、Attack Layerに「攻撃」動作を設定します。
その後、Attack Layer側のBlendingに「Additive(加算)」を設定し、Weightで重みを設定します。
実際に動かしてみると・・・
・・・ん~、なんか変。攻撃の動作に走っているときの姿勢が加わっているので前傾姿勢過ぎて攻撃している感がありません。
良く考えると「走る」動作に必要なのは「両足」だけなので、それ以外部分は「攻撃」動作させれば良いことに気づきます。
AvatarMask
こんな時はAvatarMaskを使って特定の箇所のボーンの動作を上書きするようにします。
Avatar MaskはProjectタブで右クリック→Create→Avator Maskで作ることができます。
Avator Maskでは四肢と頭、胴体それぞについてマスクするか設定できるので、今回は両足をマスクすることにします。
Attack Layer側のBlendingに「Override(上書)」に変更し、Maskの項目に作成したAvator Maskを設定します。
これで実行すると
それっぽい動作をさせることが出来ました。めでたしめでたし。