LoginSignup
7
7

More than 3 years have passed since last update.

【Unity】汎用Animatorを色々なキャラクターに適用させる方法

Posted at

想定環境

  • Unity5以上

概要

 Unity標準のAnimator、分かりにくくないですか?
 ステートベースで直感的にアニメーション遷移を作れる!最高!と思いきや、以下のような、グロいAnimatorを作ってしまうのは割とあるあるだと思います。

スクリーンショット (222).png

 しかも、Animatorは基本的に一つのキャラに一つずつ必要になります。ポチポチとステートを作り、そのステートにアニメーションを当てはめ、という作業を全キャラ分・・・。軽く死ねますね。

 というわけで、複数キャラに跨って使いまわせる汎用Animatorを作るテクニックの紹介です。(私の知っている限りUnity5系のころには標準搭載している機能なのですがあまり知られていないっぽい?ので記事化してみました。)

Animator Override Controllerを使おう!

 はい、実はこんな便利なものがあります。使い方は公式リファレンスが十分丁寧に教えてくれているのでリファレンス見てね、で終わりなんですが、一応知見をここにまとめておきます。

 名前の通り、こいつは「あるAnimatorをベースにして、そのステート内で再生するアニメーションを任意のアニメーションで上書きすることができる」というものです。

 実際に作りながら解説してみます。

1.ベースとなるAnimatorを普通に作る

 まずベースとなるAnimatorを用意します。

スクリーンショット (226).png

 キャラによっては歩きモーションや攻撃モーションを複数持つことも考えられるので、A,B,Cといったようにとりあえず用意だけしておきます。
 このAnimatorは、あくまでベースなので、実際にAnimationをあてがう必要はありません。ステートマシンの遷移部分だけ作っておけばよいのです。

2. Animator Override Controllerを作る

 ベースを作ったので、次に実際のキャラクターに使用するAnimatorを作ります。
公式リファレンスに記述してあるように、Create -> Animator Override Controller を選択します。

スクリーンショット (227).png

 すると、Animatorに似ているようで微妙に違うアイコンのアセットが作られます。これは実際のキャラに使用するAnimatorとなるので、きちんと命名しましょう。今回はゾンビに使いたいので、ZombieAnimatorとしました。

スクリーンショット (228).png

3. Inspectorで設定する

 Inspectorを見てみましょう。

スクリーンショット (229).png

このような画面になっていると思います。
Controllerの部分に、ベースとして用意しておいたAnimatorをドラッグアンドロップなどで参照します。
するとこのような画面になります。

スクリーンショット (230).png

Original の列には、ベースとなる Animator のステートに参照されている Animation 名が表示されます。
Override の列に、その Animation と対応する Animation をドラッグアンドドロップなどで参照できます。

対応する Animation が無ければ、None のままで構いません。

スクリーンショット (231).png

以上です。

これで、ステートマシンを使いまわしつつ、別々のアニメーションをするキャラクターを簡単に量産できます。

AnimatorOverride.gif

はい、ちゃんと女ゾンビも男ゾンビも同じステートマシンで動いてますね。

 ちなみに導入の際の注意ですが、さすがにステートマシンの遷移を Override側で変更などはできないので、遷移の体系が違うものを作る場合は、その都度 Animator を新規作成する必要があります。

以上、小ネタでした。

宣伝

 本稿は現在絶賛公開中のスマホゲーム『たのしいさんすう』の開発で実際に使っているテクニックを紹介しています。ぜひぜひ、お手に取ってたくさんのゾンビたちと戯れていただければ幸いです。

【たのしいさんすう】
iOS: https://apps.apple.com/us/app/zombie-mathters/id1504347831?l=ja&ls=1
Android: https://play.google.com/store/apps/details?id=com.gamebox.sansuu
ディレクター様: https://twitter.com/gamebox7777
筆者: https://twitter.com/john95206

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7