Unity が ヒューマノイド リグとアニメーションを含むモデルファイルをインポートするとき、モデルのボーン構造をアニメーション用に調整する必要があります。それを行うには、ファイル内の各ボーンをヒューマノイドアバターにマッピングし、アニメーションを適切に再生できるようにします。このため、Unity にインポートする前に、モデルファイルを慎重に準備することが重要です。
Inspector ウインドウの Rig タブ で Animation Type を Humanoid に設定します。デフォルトでは、Avatar Definition プロパティは Create From This Model に設定されています。この設定では、Unity はファイル内で定義された一揃いのボーンをヒューマノイドアバターにマップしようと試みます。
場合によっては、このオプションを Copy From Other Avatar に変更して、すでに別のモデルファイル用に定義したアバターを使用することができます。例えば、3D モデリングアプリケーションで複数の異なるアニメーションを使用してメッシュ (スキン) を作成する場合、メッシュを 1 つの FBX ファイルにエクスポートし、各アニメーションをそれぞれの FBX ファイルにエクスポートすることができます。これらのファイルを Unity にインポートするときは、インポートする最初のファイル (通常はメッシュ) に 1 つのアバターを作成するだけです。すべてのファイルが同じボーン構造を使用する限り、ファイルの残りの部分 (例えば、すべてのアニメーション) にそのアバターを再使用することができます。
このオプションを有効にする場合は、Source プロパティを設定して、使用したいアバターを指定する必要があります。
また、Skin Weights プロパティを使って、任意の頂点に影響を与えることができるボーンの最大数を変更することもできます。デフォルトでは、このプロパティの影響は 4 つのボーンに制限されていますが、より多く、またはより少なく指定 することができます。
Apply ボタンをクリックすると、Unity は既存のボーン構造をアバターのボーン構造にマッチしようとします。多くの場合、これは、リグ内のボーン間の接続を分析することで自動的に行われます。
マッチが成功すると、Configure メニューの横にチェックマークが表示されます。また、Unity はアバターのサブアセットをモデルアセットに加えます。これはプロジェクトビューで見つけることができます。
マッチの成功とは、単に Unity が必要なボーンすべてをマッチできたことを意味します。ただし、より良い結果を得るためには、Unity では必須ではないボーンもマッチし、適切な T ポーズ でモデルを設定する必要があります。
Unity がアバターを作成できない場合は、Configure ボタンの横に X が表示され、アバターのサブアセットはプロジェクトビューに表示されません。
アバターはアニメーションシステムの重要な一面であるため、モデル に適切にアバターを設定することが重要です。
このような理由で、自動的なアバター作成が成功したかどうかにかかわらず、アバターが有効で適切に設定されていることを常に確認 する必要があります。
モデルのアバターを作成できなかった場合は、Rig タブの Configure … ボタンをクリックして Avatar ウィンドウ を開き、アバターを修正する必要があります。
マッチした場合は、Rig タブの Configure … ボタンをクリックするか、プロジェクトビューからウィンドウを開きます。
まだアバターを保存していない場合は、シーンを保存するようメッセージが表示されます。
この理由は、Configure モードでは、シーンビューはボーン、マッスル、選択されたモデルのみのアニメーション情報を表示し、シーンの他の部分を表示しないからです。
シーンを保存したら、Avatar ウィンドウが Inspector に表示され、ボーンマッピングが表示されます。
ボーンのマッピングが正しいことと、Unity が割り当てなかった必須でないボーンをマップすることを確認してください。
Unity が有効なマッチを探すためには、少なくとも必須のボーンはスケルトンの正しい位置になくてはなりません。アバターにうまくマッチングさせるには、ボーンに身体の部位を表す名前を付けます。例えば、“LeftArm” と “RightForearm” のような名は、ボーンが何を制御するかを明確に表しています。
モデルが有効なマッチを探せない場合は、Unity が内部で行うのと似た手順を手動で行います。
自動マッピングが完全に、または部分的に失敗した場合は、手動で シーン または Hierarchy からボーンをドラッグして割り当てることができます。ボーンがマッチする場合は、Avatar Mapping タブは緑色で表示され、そうでない場合は赤で表示されます。
T ポーズ は Unity のアニメーションに必要なデフォルトのポーズで、3D モデリングアプリケーションでモデルを作成するのに推奨されるポーズ です。ただし、キャラクターのモデリングに T ポーズを使用せず、アニメーションが期待どおりに動作しない場合は、Pose ドロップダウンメニューから Reset を選択します。
ボーンの 割り当ては正しいにもかかわらず、キャラクターが正しいポーズでない場合は、“Character not in T-Pose” というメッセージが表示されます。Pose メニューから Enforce T-Pose を選択することで解決できます。それでもポーズが正しくない場合は、他のボーンを手動で回転させて T ポーズに収めることができます。
マスキングを行えばクリップ中のアニメーションデータの一部を破棄できるので、オブジェクトやキャラクターを部分的に動かすことができます。例えば、腕と脚両方のモーションを含む標準の歩行をするアニメーションがあるとします。しかし、そのキャラクターが大きな荷物を両手で持っている場合は、歩きながら腕を振って欲しくないでしょう。マスクを使用することで、荷物運びのアニメーションの上半身の部分のみを再生し、歩行するアニメーションに重ねることによって、荷物運びのアニメーションに標準の歩行のアニメーションを使用することができます。
マスキングは、インポート時かランタイムのいずれかにアニメーションクリップに適用することができます。アニメーションデータを削除して、ビルドから除くことができ、ファイルサイズやメモリ使用量を小さくできるため、インポート時にマスキングすることが好ましいと言えます。アニメーションデータがランタイムにブレンドされるより少なくなるので、より高速な処理ができます。インポート時のマスキングは目的に適さない場合があります。その場合には、アバターマスク アセットを作成してランタイムにマスクを適用し、アニメーターコントローラー の レイヤー設定 でこれを使用します。
空のアバターマスクアセットを作成するには、以下のいずれかを行います。
新しいアセットが Project ビューに表示されます。
これで、マスクにボディ部分を追加 し、次にマスクを アニメーションレイヤー に加えたり、ボディ部分の参照を Animation タブ の Mask セクションに追加できます。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.