Mecanimの利用

本記事では、Mecanimで「ユニティちゃん」にアニメーションをつけて、STYLYにアップロードするまでの一連の流れをご紹介します。

 

Mecanimを使ってみよう

Mecanimの使い方を見ていきましょう。はじめに、Unity Asset Storeから「Raw Mocap Data for Mecanim」と「ユニティちゃん」をダウンロードしてください。

 

Unity 5を利用している方はユニティちゃんのインポート時にAcceptボタンをクリックします。

 

Assets > UnityChan > Prefabsの中にあるunitychanをドラッグしてヒエラルキーの中に入れます。

 

後程自分で設定をするため、unitychanを選択しAnimatorコンポーネントを取り除きます。

 

Animatorコンポーネントを取り除いた後、Scriptも同様に取り除きます。

 

次に、「myAssets」フォルダを作り、その中に「myAnimators」と「myPrefabs」フォルダを作ります。

 

Mecanimでアニメーションをつける

作成したmyAnimatorsフォルダ内に新しくAnimator Controllerを作ります。

Add Componentをクリックし、unitychanを追加するためにInspectorタブでAnimatorを探します。

 

myAnimatorsフォルダからAnimatorControllerをControllerフィールド内にドラッグします。

 

Avatarには、Avatarフィールドのすぐ右横の丸いボタンをクリックし、選択メニューを出して「unitychanAvatar」を選択します。

 

UnityChan > Animationsからいくつかアニメーションを選択しmyAnimationsフォルダの中にドラッグします。ここでは「unitychan_RUN00_F Import Settings」、「unitychan_WALK00_F Import Settings」「unitychan_WIN00 Import Settings」を選択します。

 

次に、Window > Animatorと進むか、Animatorをクリックし、Animatorウィンドウを開きます。ここではAnimator Controllerアセットを作成、修正できます。

 

Animatorウィンドウ内のフローチャートのようなステートマシンを変更していくことでアニメーションの状態や遷移を変更できます。

Runアニメーションである「unitychan_RUN00_F Import Settings」をAnimatorウィンドウのレイアウトエリアにドラッグします。デフォルトでは初めに追加したアニメーションがLayer Default Stateになります。DefaultとなったノードにはEntryノードが自動的につながります。結果として、Runアニメーターはこのステートマシンがの開始時の状態として設定されました。Layer Default Stateは後程変更します。

 

次に、残りのアニメーションである「unitychan_WALK00_F Import Settings」と「unitychan_WIN00 Import Settings」をこのウィンドウにドラッグします。

 

WalkアニメーションをLayer Default Stateにするために“WALK00_F” ステートを右クリックしSet as Layer Default Stateを選択します。オレンジ色はWalkアニメーションがLayer Default Stateに設定されたことを意味しています。これはEntryノードに自動的に接続されます。

 

次にWALK00_F右クリック、「Maker Transition」選択し、「RUN00_F」との間に新しいアニメーション遷移を作ります。そのアニメーション遷移をRunアニメーションにドラッグします。

 

「WALK00_F」と「RUN00_F」の間のアニメーション遷移が作られるとき、Parametersビュー上の+アイコンをクリックし、ポップアップメニューからTriggerを選択して新しいTriggerパラメータを加えます。このパラメータビューによりState Machineにインプットとなる行動を定義するAnimation Controller Parametersを修正できるようになります。

 

新しいパラメータに「run」と名前を付けます。

 

「WALK00_F」と「RUN00_F」の間にあるアニメーション遷移を選択すると青く変わります。+アイコンをクリックしInspector上で選択しているアニメーション遷移に新たにConditionを追加します。「run」が唯一のパラメータなのでデフォルトで選択されているはずです。

 

同時にRUN00_FからWALK00_Fにアニメーション遷移を加えます。これによりアクションが走行から歩行に遷移します。

 

Parametersビュー上に新しいTriggerパラメータを作り、「walk」と名前を付けます。

 

先ほど作成したアニメーション遷移(RUN00_F → WALK00_F)を選択し、ドロップダウンメニュー内の「walk」を選択します。

 

WIN00には、Any Stateへの新しい遷移を作成します。Any Stateは特別なステートで、現状のステートにおいて欲しいと思うステートへと変更できます。

 

新しくTriggerパラメータを作り、今回は「win」と付けて勝利ステートとしてみます。

 

アニメーション遷移の作成後、それを選択し、新しくConditionsを加えてドロップダウンメニュー上の「win」を選びます。

 

State Machineが設定されました。ユニティちゃんが異なるアニメーションを実行する準備をしていきましょう。初めに、Animatorタブを押しながらAnimator Windowをドラッグしスクリーンの異なる部分にドラッグします。これでGameシーンとAnimatorヴューを同時にみることができます。

 

Playボタンを押して歩行アニメーションを開始します。WALK00_Fが Animatorウィンドウ内で読み込まれているのがわかります。これはWALK00_Fがゲーム開始と同時に作動するLayer Default Stateであるためです。

 

ゲームがプレイされている間、trigger欄の横の丸いボタンをクリックすることでtriggerを手動で有効化できます。この場合、runが実行され、ユニティちゃんが歩行から走行状態へと移行します。RUN00_Fの読み込みバーは走行状態が実行されていることを示しています。

 

同様の手順で勝利アニメーションも試してみましょう。

 

Unity内でAnimator Triggerを設定するにはC#のスクリプトを利用しても、PlayMakerを利用してもよいですが、もしSTYLY上でアニメーションの変更をしたい場合は、本サイト内にあるPlayMakerのチュートリアルをご参考ください(STYLYはC#のスクリプトをサポートしていないため注意が必要です。)

 

Mecanimを用いたモデルをSTYLYにアップロードする

最終的に、アニメーションの付いたユニティちゃんをSTYLYにアップロードできます。まずプレハブとしてユニティちゃんを保存します。

 

次に、unitychanを右クリックし、STYLY > Build And Upload Prefab Assetと進み、STYLYにアップロードをします。詳しくSTYLYにプレハブをアップロードする方法を知りたい場合は本サイト内のUnity Uploaderに関する内容をご参照ください。

 

最後に、ウェブのSTYLYエディタ内に新しくアップロードされたアセットを読み込ませればアニメーションが自動的に再生されます。アセットは3D Model > My Modelと順に辿ると見つかります。