お知らせ

次の項目は別ページに分割しました。

Unity に関する基本的な情報は次のページにまとめています。

アニメーターコントローラー

公式サイト:

アニメーターコントローラー | Unity マニュアル [公式]

概要

参考:

アニメーションシステム概要 | Unity マニュアル [公式]

使い方

  • ステートマシン
  • サブステートマシン
  • アニメーションステート
  • ブレンドツリー
  • レイヤー (Layers)
  • パラメーター (Parameters)
特別な状態
  • Entry
  • Exit
  • Any State

参考:

Unity の Animation Controller の簡易的な解説 – Qiita

Unity の Animator Controller の使い方 | npaka

Animator Controller の使い方を解説 | STYLY

Animator Controller を用いたアニメーション切り替え方法 | XR-Hub

Animator Controller の基礎 | TECH PROjin

Animator Controller の使い方 | Unity で魔物使いゲームを作る

ユニティちゃんでもっと Animator Controller を上手く使いたい | Unity で魔物使いゲームを作る

Animator Controller でできることメモ | WeatherVane

Animator 設定等について | 自由だァ~ブログ

Animator Controller の作成 | Unity マニュアル [公式]

導入

参考:

Unity のアニメーションの切り替えシステムとスクリプト | かめくめ

Mecanim の利用 | STYLY

UI デザイナーが Unity の Animator Controller 使ってみた – Qiita

基本

参考:

Animator | yttm-work

操作

参考:

Animator ウィンドウ | Unity マニュアル [公式]

アニメーションステート (Animation State)

  • Motion
  • Speed
    • Multiplier
  • Mirror
  • Cycle Offset
  • Foot IK
  • Write Defaults
  • Transitions

参考:

アニメーションの時間を指定して何かの値と同期させる | ネコロモーフ

アニメーションステート | Unity マニュアル [公式]

UnityEngine.AnimationState | Unity スクリプトリファレンス [公式]

AnimationState.clip | Unity スクリプトリファレンス [公式]

AnimationState.time | Unity スクリプトリファレンス [公式]

How to change “Motion” of an animator state in runtime? – Unity Forum

Change motion of the animator state – Unity Forum

access motion parameter? – Unity Forum

Write Defaults

参考:

知らないと面倒くさい事になるかもしれない Animator の Write Defaults の動作について | テラシュールブログ

Animator の Write Defaults の設定 | STAC STAR

Animator 付きの GameObject の非アクティブ化について | 原カバンは鞄のお店ではありません。

Mecanim Default Values – Unity Forum

アニメーションパラメーター

  • Integer
  • Float
  • Bool
  • Trigger

参考:

アニメーションパラメーター | Unity マニュアル [公式]

レイヤー (Layers)

設定
  • ウェイト (Weight)
  • マスク (Mask/デフォルトNone)
  • ブレンド (Blending)
    • オーバーライド (Override/デフォルト)
    • 加算 (Additive)
  • 同期 (Sync/デフォルト無効)
    • タイミング (Timing/デフォルト無効)
    • ソースの層 (Source Layer)
  • IK パス (IK Pass/デフォルト無効)

参考:

Animator Controller の Layer を使ってモーションを一部だけブレンドしたり加算したりする | LIGHT11

指のポーズをブレンドしてハンドジェスチャーを作ろう | すぎしーの XR と 3DCG

レイヤー/アバターマスクを用いてアニメーションを複数同時に再生する | XR-Hub

Unity の Animator のレイヤーの Sync を使ってアニメーションを全て変更する | かめくめ

Unity のレイヤー、アバターマスクを使って体の一部分を別のアニメーションにする | かめくめ

Unity で Generic リグのキャラクターモデルのアニメーションを組み合わせる | MR が楽しい

Unity でキャラの表情コントロール | ini-T MUSIC SKY

アニメーションのレイヤー | Unity マニュアル [公式]

加算レイヤー (Additive Layer)

参考:

Additive Animation (Override?) – Unity Forum

Mecanim root motion and additive layer bug ? – Unity Forum

how to use animation layer with additive mode and root motion applied? – Unity Answers

アバターマスク (Avatar Mask)

参考:

Unity のレイヤー、アバターマスクを使って体の一部分を別のアニメーションにする | かめくめ

レイヤー・アバターマスクを用いてアニメーションを複数同時に再生する | XR-Hub

Animator Controller のレイヤーで移動中に上半身だけ別のモーションを行う方法 | ゴマちゃんフロンティア

アバターマスクウィンドウ | Unity マニュアル [公式]

Default State

  • Set StateMachine Default StateEntry を右クリックしてメニューから「Set StateMachine Default State」を選択して既定の遷移 (濃いオレンジ色の矢印) を作成する。
  • Set as Layer Default Stateステートを右クリックしてメニューから「Set as Layer Default State」を選択してレイヤーの初期状態 (オレンジ色のステート) を指定する。

参考:

Unity のアニメータで1回だけアニメーションさせる | matudozer のアプリ作成日記

アニメーションの初期ステートを変更する | TISSUE BOY

アニメーションステート | Unity マニュアル [公式]

エントリートランジションの変更について – teratail

How to change the default or entry animation for an animator | NeedOne

How can I change orange animation state transitions? – Unity Forum

“Set Default State” in AnimatorController in code? – Unity Forum

Default State in Animator – Unity Forum

Animator default values can change through the animations itself – Unity Forum

遷移の条件を論理和 (OR) で組み合わせる

必要な数だけ遷移を作成し、それぞれに条件を指定する。

参考:

Animator transition conditionals is OR possible, or only and? | Unity Answers

ドアをアニメーションさせる

参考:

アニメーションのスクリプト操作 (Raycast) | Unity と Blender とムービー制作

パラメーターで遷移先を変更する (Conditions)

参考:

Unity のアニメーションの切り替えシステムとスクリプト | かめくめ

状態遷移に応じてハンドラを実行する

  • StateMachineBehaviour を継承してハンドラをオーバーライドする
  • トリガーと同時にタイマーを起動して処理する

参考:

Best way to know when animation enter/exit a state? – Unity Forum

How to add key frames to a new animation file in Unity? – Stack Overflow

非アクティブ化に伴って Animator がリセットされる

参考:

Unity の GameObject を非アクティブにすると Animator がリセットされる挙動、その対処法 | テラシュールブログ

Animator 付きの GameObject の非アクティブ化について | 原カバンは鞄のお店ではありません。

Animator コンポーネント

参考:

Animator からステートの一覧を取得する – Qiita

Animator の State 一覧を取得する | うにてぃブログ

Animator コンポーネント | Unity 2018.4 マニュアル [公式]

UnityEngine.Animator | Unity スクリプトリファレンス [公式]

Culling Mode

  • Always Animate常にアニメーションを更新し、カリングを行わない。
  • Cull Update Transformレンダラーが表示されていない時に、リターゲティング、IK、Transform の更新を行わない。
  • Cull Completelyレンダラーが表示されていない場合に、アニメーションを完全に無効化する。

参考:

Animator の Culling Mode でハマった話 | kido Tech Blog

Culling Mode | Unity 2018.4 マニュアル [公式]

Cull Update Transforms: Doing this at a distance | Unity Forum

How does Animator Culling work? – Unity Answers

Animator Override Controller

Animator Controller による振る舞いは同じまま、アニメーションクリップだけ差し替える。

参考:

Unity の Animator Override Controller を使う | かめくめ

Animator Override Controller | Unity で魔物使いゲームを作る

Animator Override Controller | Unity マニュアル [公式]

How to change “Motion” of an animator state in runtime? – Unity Forum

Change motion of the animator state – Unity Forum

access motion parameter? – Unity Forum

SetTrigger / ResetTrigger

  • SetTiggerトリガーを起動する
  • ResetTriggerトリガーをリセットする

参考:

Animator.SetTrigger | Unity スクリプトリファレンス [公式]

Animator.ResetTrigger | Unity スクリプトリファレンス [公式]

Character Controller speed: running vs. walking – Stack Overflow

SendMessage / SendMessageUpwards

参考:

Component.SendMessage | Unity スクリプトリファレンス [公式]

Component.SendMessageUpwards | Unity スクリプトリファレンス [公式]

現在のステートを取得する (GetCurrentAnimatorStateInfo)

参考:

現在のステート名を取得する方法 | Daichi

Unity の Animator の遷移状態をスクリプトで取得し遷移させるかどうかを決める | かめくめ

Animator で現在のステートを取得する | naru design

任意の Animation State と現在再生されている State を比較する | でっかい肉じゃが

Animator.GetCurrentAnimatorStateInfo | Unity スクリプトリファレンス [公式]

Current animator state name? | Unity Forum

Get name of current animation state – Stack Overflow

AnimatorController

参考:

Animator に設定されている Layer と State を実行時に取得してみた | kandy codings 開発ブログ

Animations.AnimatorController | Unity スクリプトリファレンス [公式]

AnimatorState

参考:

Animations.AnimatorState | Unity スクリプトリファレンス [公式]

Setting Motion Time on Animator State sends Root Motion crazy – Unity Forum

OnAnimatorMove

参考:

Unity上でMMDモデルを独自アニメーションで走らせる | テラシュールブログ

MonoBehaviour.OnAnimatorMove() | Unity スクリプトリファレンス [公式]

Tips

参考:

Animator のスパゲティなステートマシンを整理する | テラシュールブログ

まとめ

参考:

Animator Controller をマスターして自由で自然なモーション再生!複雑な各設定項目を全て解説 | LIGHT11

Unity の Animator Controller の使い方 | npaka

Animator の個人的な逆引きリファレンス – Qiita

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA