今回のUnityテーマは、「Humanoidの使い方を理解しよう!」です。
Unityで人のキャラクターを動かす場合、一般的に「Humanoid」を利用して「Animation Contoroller」を作成します。この記事は「Humanoid」について理解を深めて開発を円滑に進めることを目的としています。
Humanoidとは
Humanoidは企画を統一することで、異なる構造のリグ間でもアニメーションを使い回せるようになる機能です。Humanoidのボーン構造を「UnityHumanoidAvatar」と呼びます。
Unityでは,3Dキャラクターのボーンを「UnityHumanoidAvatar」にマッピングし直して、「HumanoidAvatar」を制御した結果をボーンに反映させることでキャラクターを動作させます。
モデルのHumanoid設定について
モデルの「Humanoid」への切り替えは、Rigのタブ内の「AnimationType」を「Humanoid」に変更することで切り替えできます。

切り替えた場合、問題のない場合は、チェック、
エラーのある場合は、Configの横にバツ(☓)がつきます。
その場合、「Configure…」から修正ができます。

「同じ構造のリグ」を使ったモデルの場合、Avatar Definitionを「Copy From Other Avatar」に変更することで、Avatarを使い回すことができます。

UnityHumanoidAvatorについて
Mappingについて
「Avatar Configuretion」を開くと、インスペクターで「UnityHumanoidAvatar(以下Avatar)」の設定ができます。

Avatarの設定は、円が点線になっているものは任意の設定、それ以外の実線の円になっているものは必須の設定になります。必須の設定の箇所にボーンがない場合、モデルに修正が必要です。
必要な箇所の設定にボーンが設定されていない場合はボーンを設定したり、誤った内容担ってしまっている場合はその修正を行います。

また、Tポーズになっていない場合は、ボーンが赤くなってエラーになりますので、インスペクターの下の方にある、PoseからEnforce-TposeにすることでTポーズに変更することができます。


Body以外にも設定が必要な項目は全部で4つあります。
- Body
- Head
- Left Hand
- Right Hand
使い方はBodyと同じです。


Muscles&Settingsについて
インスペクターの「Muscles&Setttings」から動作の確認を行うことができます。


その他のモデルへの設定
アニメーションについて
アニメーションを含んでいる場合に利用することができます。

アニメーションのファイルを読み込んだ場合、このような見た目になります。

Animation Controllerについて
Avatarで設定したモデルにモーションの操作コントローラーを作成することができます。
※執筆中 別記事で紹介します。
まとめ
今回、「Humanoidの使い方」について以下の内容を学びました。
- Humanoidとは
- モデルのHumanoid設定
- UnityHumanoidAvatorの設定
- Mappingについて
- Muscles&Settingsについて
ざっくりですがHumanoidについてある程度理解できたのではないかなと思います。
Humanoidは人形のキャラクターを利用するゲームを開発する際に必ず利用するので、ある程度理解しておくと開発が円滑に進みます。
まだ紹介しきれていない機能もあると思うので、今後この記事は少しずつバージョンアップしていく予定です。
今回の記事が、皆さんの技術力向上につながると嬉しいです。もしこの記事が気に入りましたら、ぜひテクリエイトへのお気に入り登録をして頂けると喜びます。
以上、おつかれさまでした!