パラパラアニメ : SimpleAnimation編
Unity
パラパラアニメのような複数の画像を切り替えてアニメーションさせることを、Unityではスプライトアニメといいます。
今回は、ボタンを押すとスプライトアニメが再生されるというゲーム?を作ってみます。
もくじ
SimpleAnimation
Unityには、デフォルトでMecanimというステートマシンでアニメを管理する仕組みがあります。これが役立つ場面も多いのですが、単純にアニメを再生・停止するような使いかたをする場合、少しややこしくなります。
アニメの制御を理解する上ではシンプルな構造の方が適していますので、今回はSimpleAnimationという機能を使って再生するやり方で進めます。
SimpleAnimationのセットアップ
UnityTechnologyが公開しているSimpleAnimationを以下のサイトからDLしてきます。
DLしたら、Assetsフォルダ以下のファイルをUnityのProjectに追加します。


これでセットアップは完了です。
アニメーションクリップの作成
まずはスプライトアニメ(パラパラアニメ)に必要なpngファイルをProjectに追加します。

次にアニメーションクリップを作成します。
ツールバーのWindow>Animation>Animationを選択して、Animationウィンドウを表示させます。

その後、Createボタンを押して、新規アニメーションクリップを作成します。Projectに、アニメーションクリップが追加されます。

最後に、アニメの画像ファイルをAnimationウィンドウにDrag&Dropして追加します。アニメの再生フレーム間隔は、Samplesで調整します。

12fpsで再生させるように設定。
これでアニメーションのデータの準備は完了です。
アニメーションを再生する
ゲームオブジェクトを用意
はじめにアニメを再生させるオブジェクトをSceneに追加します。大抵の場合は、アニメの最初の画像データを追加すればOKかと。

SimpleAnimationコンポーネントを追加
追加したゲームオブジェクトに SimpleAnimation の Component を追加します。そして、SimpleAnimationコンポーネントのAnimationに先ほど作成したアニメーションクリップを指定します。今回は、ボタンを押したタイミングでアニメを再生するので、Play AutomaticallyをOFFにしておきます。

Play AutomaticallyをOFFに設定
再生処理スクリプトを追加
アニメの再生や停止などの制御はスクリプトから行います。
再生処理スクリプトを追加して以下のような再生処理を追加します。
public class ShootingStarAnim : MonoBehaviour
{
public void StartAnim()
{
// SimpleAnimationコンポーネントを取得
SimpleAnimation anim = GetComponent<SimpleAnimation>();
// アニメを初期状態に戻す(繰り返し再生させるため)
anim.Rewind();
// Defaultに設定されているアニメーションクリップを再生する
anim.Play("Default");
}
}
ここで Default という名前を指定してアニメを再生しています。これは、SimpleAnimationコンポーネントで指定した名前です。

ボタンを押したらアニメを再生する
最後にボタンを押したタイミングでアニメを再生させます。ボタンのOnClickイベントに先ほど追加したスクリプトの再生関数を指定すればOKです。

これでボタンを押すとアニメーションを再生させることができるようになりました。
まとめ
今回はUnityでパラパラアニメを再生させてみました。単純なアニメの再生をする上で、あえてUnityデフォルトのMecanimではなく、SimpleAnimationを使ってみました。学習する上で、最初にシンプルなアニメ再生を理解する方が適切かなと思います。
次回は、同じアニメの再生処理をMecanimを使ってやってみます。