Tech

【Unity】AnimationControllerの基本的な使い方

投稿日:

はじめに

こんにちは、suzukiです。本日はUnityのAnimationControllerについて触れていこうと思います。
動作としては単純なのですが、覚える内容が多いため基本的な設定をまとめれればと思います。

事前準備

キャラクター

キャラクターはユニティちゃんを利用しようと思います。
サクッとAssetStoreから取得します。
私はUnityのバージョンが2019.1.0f2なのですが、下記エラーが出ました。
Assets/unity-chan!/Unity-chan! Model/Scripts/AutoBlink.cs(8,23): error CS0234: The type or namespace name 'Policy' does not exist in the namespace 'System.Security' (are you missing an assembly reference?)
解決方法はこちらを参考に該当行をコメントアウトで問題なさそうです。

アニメーション

Melee Axe Packを利用しようと思います。
ユニティちゃんに合うかどうかはさておき、今回は使わないですが移動やアクションと満遍なく揃っているのでよく使います。

Sceneに追加と設定

/⁨Assets⁩/unity-chan!/Unity-chan! Model/Prefabsの中にあるmodelをシーン上に追加します。
元から備わっているスクリプトは不要なので全て無効化しておきましょう。

Animatorコンポーネントを確認するとデフォルトでUnityChanARPoseが設定されています。
中身は尋常じゃなく複雑なので、こちらは使いません。

AnimationController

ProjectWindowのCreateからAnimationControllerを追加しましょう。
今回はTestAnimationと命名しました。
作成したAnimationControllerを追加したキャラクターのAnimatorコンポーネントのControllerに設定します。

使い方

まずはAnimatorWindowを確認しましょう。
こちらで実際の動作を設定することができます。試しに右クリックからCreate StateからEmptyを選択しましょう。
New Stateが追加されデフォルトでTransitionが設定されております。ゲームの起動時に自動で呼ばれるアニメーションになります。
一度用語と簡単な変更できる内容を触れていきます。

State

animationの内容を設定する入れ物
・Motion
 アニメーションを設定
 右側の丸ボタンを押すとアセット内のアニメーションが取得できるのでそのまま設定します。
・Speed
 あまりこちらを変更することはないですが、アニメーションの速度を変更できます。

Transition

StateとStateをつなぐ矢印。Transitionを指定してアニメーションの変更が可能
・名前の設定 
 特に必要なものではないが、整理のため
・Has Exit Time
 有効な場合アニメーションの完了を持って別のアニメーションが呼ばれる。
 無効な場合アニメーションの完了前に割り込んで別のアニメーションに移る。
・Condition
 後述のパラメーターの設定が可能

Parameter

・Int
・Float
・Bool
・Trigger
それぞれのパラメーターをAnimationController内の値として持てます。
イメージはScriptでいうpublicなプロパティです。スクリプトから呼び出すことが可能です。
今回はこちらの中のTriggerを使います。

アニメーションの設定

それでは簡単な例として下記のようにアニメーションを切り替える実装をしてみます。
・↑キーを押したら歩くアニメーションを再生
・↓キーを押したら待機のアニメーションを再生

StateとTransitionの配置

①AnimatorWindow上で右クリックからCreate StateからEmptyを選択しNew State 0を追加
②オレンジ色のNew Stateを右クリックしMake Transitionを選択、矢印がマウスのポインタに合わせて移動するので、灰色のNew State 0をクリック
③灰色のNew State 0を右クリックしMake Transitionを選択、矢印がマウスのポインタに合わせて移動するので、オレンジ色のNew Stateをクリック
ここまで完了すると下のスクリーンショットのような状態になります。

Animationの設定

それぞれのStateに対してアニメーションを設定しましょう。
まずはNew Stateを選択し、Motionの右側の丸からアニメーションを選択します。
同様にNew State 0を選択しMotionの右側の丸からアニメーションを選択します。

設定するアニメーションは動きがあるものであればなんでもいいです。

パラメーターの作成

それではパラメーターを作成します。前述しましたが今回はTriggerを使用します。
パラーメーターの+ボタンを選択しTriggerを選択します。
changeと入力
パラーメーターの+ボタンを選択しTriggerを選択します。
returnと入力
changeとreturnですがここで設定した値をスクリプトから呼ぶため間違いなく入力してください。

TransitionにTriggerを設定

下向きのTransitionを選択します。
Conditionの項目の+ボタンを選択し、changeを設定します。
上向きのTransitionを選択します。
Conditionの項目の+ボタンを選択し、returnを設定します。

こちらでAnimationControllerの設定が完了です。
試しに起動するとオレンジ色のStateに設定したアニメーションが再生されます。
しかしながらスクリプトの作成と設定がまだなので上下ボタンでアニメーションが切り替わりません。

Scriptの設定

下記のStateChangeスクリプトを作成しunitychanにアタッチしましょう

これで上下でアニメーションの切り替えができるようになりました。

さいごに

最後までありがとうございます。Unityの記事を作るとスクリーンショットがないと説明できない内容がとても多いと感じました。Unityが多機能を使いやすくなるために遂げた進化の結果だとは思いますが、ここ変更してということを伝えることが難しい、、、

おすすめ書籍

Unityの教科書 Unity2019完全対応版  2D&3Dスマートフォンゲーム入門講座作って学べる Unity 超入門スラスラ読める Unity C#ふりがなプログラミング

page_footer_responsive




-Tech
-

執筆者:

         

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

C# マルチキャストデリゲートの備忘録

1 はじめに2 C#のデリゲートについて2.1 デリゲートの定義3 マルチキャストデリゲートについて3.1 追加方法3.2 削除方法4 さいごに5 おすすめ書籍 はじめに こんにちはsuzukiです。 ...

BLEのペアリングをWiresharkでキャプチャしながら学ぶ

1 はじめに2 ペアリングとボンディング3 暗号化はキャラクタリスティック単位4 ペアリングの流れ4.1 セキュリティリクエスト4.2 ペアリングリクエスト・レスポンス4.3 Passkeyの検証5 ...

Flutterで生体認証が楽々導入できると噂のlocal_auth

1 はじめに2 準備3 実装3.1 端末が生体認証可能かの確認3.2 生体認証の登録状態の確認3.3 生体認証の実行4 おすすめ書籍 はじめに 最近はFlutterの勉強ばかりしていますが、今回は簡単 ...

iOS13ダークモード対応

1 はじめに2 一時しのぎ3 実装3.1 UI Element Colors3.2 Color Set3.3 コードで描きたい3.4 カスタムのカラーを定義する3.5 画像をモードで動的に変更したい4 ...

Xcode11のデバッグ機能

1 はじめに2 Device Conditions2.1 Thermal state condition2.2 Network link condition3 Environment Override ...

フォロー

follow us in feedly

blog-page_side_responsive

2019年11月
 12
3456789
10111213141516
17181920212223
24252627282930

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。