MRが楽しい

MRやVRについて学習したことを書き残す

Unityアニメーション講座 その1

さて、本日はUnityアニメーションの講座です。
本講座ではユニティちゃんパッケージを利用して、キャラクタへのアニメーション設定を学びます。
f:id:bluebirdofoz:20170726004638j:plain

以下のソフトのインストールとパッケージの取得が前提となります。

・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でプロジェクトを作成する。
f:id:bluebirdofoz:20170726004742j:plain

プロジェクトが作成されると、以下の画面が表示されます。
f:id:bluebirdofoz:20170726004754j:plain

Unityのプロジェクトを開いた状態で、取得したユニティちゃんパッケージ(UnityChan_1_2_1.unitypackage)をダブルクリックします。
すると、以下のウィンドウが開きますので、そのまま「import」ボタンをクリックします。
f:id:bluebirdofoz:20170726004927j:plain

インポートが完了すると、以下の通り、Assetsにユニティちゃんパッケージが読み込まれます。
f:id:bluebirdofoz:20170726004937j:plain

ここで、いつでも作業が中断できるようプロジェクトの保存を行っておきます。
まず現在作成中のシーン情報を保存します。メニューから File -> Save Scene を選択します。
f:id:bluebirdofoz:20170726005000j:plain

初回保存時には Scene ファイルの保存場所の指定が必要なので、今回は以下の設定で保存しました。
 1.AssetsフォルダにSceneフォルダを作成する。
 2.ファイル名を MainScene とする。
 3.保存する
f:id:bluebirdofoz:20170726005009j:plain

すると以下の通り、Assets配下に Scene フォルダが作成され、MainScene ファイルが保存されます。
f:id:bluebirdofoz:20170726005018j:plain

次にプロジェクト全体の保存を行います。メニューから File -> Save Scene を選択します。
f:id:bluebirdofoz:20170726005028j:plain
これでプロジェクトの保存は完了です。


今回はユニティちゃんを使って、アニメーションの設定を学んでいきます。
以下の手順を実施して、ユニティちゃんをシーンに取り込みます。
 1.Assets フォルダから UnityChan -> Prefabs を開く。
 2.unitychan.prefab を Hierarchy にドラッグする。
f:id:bluebirdofoz:20170726005047j:plain

すると、以下のように unitychan オブジェクトが Hierarchy に取り込まれ、シーン内にユニティちゃんが出現します。
f:id:bluebirdofoz:20170726005059j:plain

早速ですが、ユニティちゃんにアニメーション設定を行います。
以下の手順を実行して、unitychan オブジェクトの Inspector タブを開いてください。
 1.unitychan オブジェクトを選択する。
 2.Inspector タブをクリックする。
 3.Animator コンポーネントがアタッチされていることを確認する。
f:id:bluebirdofoz:20170726005129j:plain

Unityには複数のアニメーションの設定方法がありますが、今回は「Mecanim」という方法を用います。
「Mecanim」の特徴について興味がある方は以下を参照してみてください。
qiita.com

ユニティちゃんパッケージには予め、この「Mecanim」の機能を利用したアニメーションコントローラが提供されています。
まずはこのアニメーションコントローラを設定します。以下の手順を実行してください。
 1.Animato rコンポーネントの Controller の右端にある「◎」ボタンをクリックする。
 2.コントローラ選択ウィンドウが表示される。
 3.「UnityChanLocomotions」を選択する。
f:id:bluebirdofoz:20170726005158j:plain

Animator コンポーネントの Controller が「UnityChanLocomotions」に設定されていることを確認します。
f:id:bluebirdofoz:20170726010733j:plain

この状態で Animator タブを選択すると、現在ユニティちゃんに設定されているアニメーションのフロー図が確認できます。
f:id:bluebirdofoz:20170726005235j:plain

この状態でシーンを動かすとどうなるか見てみることにします。
まず、ユニティちゃんがよく見えるよう、以下の手順でカメラ位置を移動します。
 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 の映像が変化します。
f:id:bluebirdofoz:20170726005323j:plain

次にユニティちゃんがカメラの方向を向くよう、以下の手順でユニティちゃんを方向転換します。
また、今回は 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) コンポーネントのチェックを外す。
f:id:bluebirdofoz:20170726010013j:plain

シーンを再生します。「再生」ボタンをクリックします。
ゲームタブが開かれて、こちらを向いたユニティちゃんが表示されれば成功です。
f:id:bluebirdofoz:20170726010027j:plain


さて、このとき、ユニティちゃんはシーンタブで表示されていた「手を広げたポーズ」ではなく、「手を下したポーズ」で再生されるはずです。

これはアニメーションコントローラとして設定した「UnityChanLocomotions」のデフォルトの遷移先が「Idle」状態だからです。
f:id:bluebirdofoz:20170726010056j:plain
「Idle」の状態には「WAIT00」という「手を下したポーズ」のモーションが設定されており、この状態に遷移したため、ユニティちゃんはゲーム開始と共に「手を下したポーズ」をとったという訳です。

これでまずはアニメーションの設定と動作について確認できました。
次回はアニメーションの遷移について学習していきます。
bluebirdofoz.hatenablog.com