Unityの2Dフレームワーク、Quad UIについての続き。
今回はスプライトアニメーションについて。
スプライトアニメーションは、実は公式HPに使える資料が見つからなかったので、
独自に調べている。
もしかしたら正しくないやり方かも知れないので、そのつもりで。
実行サンプルはこちら。
■スプライトアニメーション素材の抽出
いつものようにQuad Uiのエディタを開く。
画面が開くので、マテリアルを選択し、ClassにSpliteを選択する。
そうすると、#Framesといった項目が出現する。これが、アニメーションのコマ数になる。
■アニメーションの実行
アニメーションを作ったら、動作するように設定する。
こいつを動作させるためには、Quad UI(Main)のコンポーネントがシーンの中に配置してある必要がある。
ここにQuad UI(Main)の配置方法が書いてあるので参考にしてほしい。
アニメーションの動作感覚は、Sprite2DコンポーネントのFPSで設定している。
作成したスプライトに勝手に登録されている項目なので、inspectorで確認できる。
この値は、どうも値を大きくすると高速で動作するらしい。
逆に0だと最速で動作する。よくわからん。
■複数のアニメーションを登録する場合
1スプライト1アニメーションではロックマンが作れないので、
複数のスプライトを登録して使用する方法を紹介しておく。
これがドキュメントにない方法なので、実際に合ってるか不明な所。
まず素材の作成。
素材抽出は、同様の手法だが、ClassはInteractive Spriteを選択。
作成したスプライトにComponent→Quad UI→UI Components→MultiStateSprite2Dを付与。
で、MultiStateSprite2Dを設定するわけだが、ここからが面倒くさい。
まず作成したスプライトのinspectorを開き、MultiStateSprite2DのQuadに自身を登録。
次に同コンポーネントのFramesの項目を、Interactive Element 2DのFramesからコピーする。
手動で。
(コピーしたらInteractive Element 2Dは要らないので消してOK)
最後に、Animationsの項目を開き、以下の項目を設定。
・アニメーションの名前
・アニメーション開始位置
・アニメーション終了位置
・ループするか?
実行時には、MultiStateSprite2Dのコンポーネントをpublicで取得し、
Play(アニメーション名)でアニメーションを実行。これでOK。
PlayAnimation(アニメーション名) でアニメーションを実行、これでOK。