さて、本日はUnityアニメーションの講座です。
本講座ではユニティちゃんパッケージを利用して、キャラクタへのアニメーション設定を学びます。
以下のソフトのインストールとパッケージの取得が前提となります。
・Unity 5.6 以上のインストール
unity3d.com
上記サイトから プラン選択&ダウンロード -> Personalを試す でインストーラを取得する。
- UnityDownloadAssistant-2017.1.0f3.exe
Unityのインストール手順については別途参照ください。
・ユニティちゃんパッケージ 1.2.1 以上の取得
unity-chan.com
上記サイトから DATA DOWNLOAD -> ユニティちゃん 3Dモデルデータ で以下のパッケージを取得する。
- UnityChan_1_2_1.unitypackage
では早速、Unityのテスト用プロジェクトを作成します。
Unityを起動したら以下の手順を実施して、新規プロジェクトを作成してください。
1.NEWアイコンを選択する。
2.ProjectNameを命名する。
3.プロジェクトの保存フォルダを指定する。
4.CreateProjectでプロジェクトを作成する。
プロジェクトが作成されると、以下の画面が表示されます。
Unityのプロジェクトを開いた状態で、取得したユニティちゃんパッケージ(UnityChan_1_2_1.unitypackage)をダブルクリックします。
すると、以下のウィンドウが開きますので、そのまま「import」ボタンをクリックします。
インポートが完了すると、以下の通り、Assetsにユニティちゃんパッケージが読み込まれます。
ここで、いつでも作業が中断できるようプロジェクトの保存を行っておきます。
まず現在作成中のシーン情報を保存します。メニューから File -> Save Scene を選択します。
初回保存時には Scene ファイルの保存場所の指定が必要なので、今回は以下の設定で保存しました。
1.AssetsフォルダにSceneフォルダを作成する。
2.ファイル名を MainScene とする。
3.保存する
すると以下の通り、Assets配下に Scene フォルダが作成され、MainScene ファイルが保存されます。
次にプロジェクト全体の保存を行います。メニューから File -> Save Scene を選択します。
これでプロジェクトの保存は完了です。
今回はユニティちゃんを使って、アニメーションの設定を学んでいきます。
以下の手順を実施して、ユニティちゃんをシーンに取り込みます。
1.Assets フォルダから UnityChan -> Prefabs を開く。
2.unitychan.prefab を Hierarchy にドラッグする。
すると、以下のように unitychan オブジェクトが Hierarchy に取り込まれ、シーン内にユニティちゃんが出現します。
早速ですが、ユニティちゃんにアニメーション設定を行います。
以下の手順を実行して、unitychan オブジェクトの Inspector タブを開いてください。
1.unitychan オブジェクトを選択する。
2.Inspector タブをクリックする。
3.Animator コンポーネントがアタッチされていることを確認する。
Unityには複数のアニメーションの設定方法がありますが、今回は「Mecanim」という方法を用います。
「Mecanim」の特徴について興味がある方は以下を参照してみてください。
qiita.com
ユニティちゃんパッケージには予め、この「Mecanim」の機能を利用したアニメーションコントローラが提供されています。
まずはこのアニメーションコントローラを設定します。以下の手順を実行してください。
1.Animato rコンポーネントの Controller の右端にある「◎」ボタンをクリックする。
2.コントローラ選択ウィンドウが表示される。
3.「UnityChanLocomotions」を選択する。
Animator コンポーネントの Controller が「UnityChanLocomotions」に設定されていることを確認します。
この状態で Animator タブを選択すると、現在ユニティちゃんに設定されているアニメーションのフロー図が確認できます。
この状態でシーンを動かすとどうなるか見てみることにします。
まず、ユニティちゃんがよく見えるよう、以下の手順でカメラ位置を移動します。
1.MainCamera オブジェクトを選択する。
2.Transform コンポーネントを以下の通り設定する。
Positon X 0 Y 1 Z -1
Rotation X 0 Y 0 Z 0
Scale X 1 Y 1 Z 1
3.設定が反映されると、CameraPreview の映像が変化します。
次にユニティちゃんがカメラの方向を向くよう、以下の手順でユニティちゃんを方向転換します。
また、今回は IdleChanger と FaceUpdate の機能は利用しないので、ここで無効化しておきます。
1.unitychan オブジェクトを選択する。
2.Transform コンポーネントを以下の通り設定する。
Positon X 0 Y 0 Z 0
Rotation X 0 Y 180 Z 0
Scale X 1 Y 1 Z 1
3.IdleChanger(Script) コンポーネントのチェックを外す。
4.FaceUpdate(Script) コンポーネントのチェックを外す。
シーンを再生します。「再生」ボタンをクリックします。
ゲームタブが開かれて、こちらを向いたユニティちゃんが表示されれば成功です。
さて、このとき、ユニティちゃんはシーンタブで表示されていた「手を広げたポーズ」ではなく、「手を下したポーズ」で再生されるはずです。
これはアニメーションコントローラとして設定した「UnityChanLocomotions」のデフォルトの遷移先が「Idle」状態だからです。
「Idle」の状態には「WAIT00」という「手を下したポーズ」のモーションが設定されており、この状態に遷移したため、ユニティちゃんはゲーム開始と共に「手を下したポーズ」をとったという訳です。
これでまずはアニメーションの設定と動作について確認できました。
次回はアニメーションの遷移について学習していきます。
bluebirdofoz.hatenablog.com