既存のスケルトンを HumanIK 用に定義するには
- ファイル HIKSkeleton.mb を開きます。
このファイルは、Maya プロジェクトとして設定した GettingStarted2020LessonData¥HumanIK ディレクトリにあります。
キャラクタが Maya シーンに表示されます。
- パネル メニューからシェーディング > ジョイントの X 線表示(Shading > X-Ray Joints)を選択してキャラクタのスケルトンを表示します。
- スケルトン > HumanIK (Skeleton > HumanIK)を選択し、キャラクタ コントロール(Character Controls)ウィンドウを開きます。
このウィンドウの開始(Start)ペインが開きます。
- 作成(Create)カテゴリでコントロール リグの作成(Create Control Rig)を選択し、表示されたウィンドウで定義(Define)を選択します。
これにより、新しい HumanIK キャラクタ(既定の名前は Character1)が作成され、HumanIK ツールが開きます。
-
定義(Definition)タブでは、スケルトンの構造をマップできます。キャラクタ ビューは人間の形を表示するウィンドウです。キャラクタ ビューには、キャラクタのスケルトンの主なジョイント(ノード)、つまり足首、膝、ヒップ、脊椎のベース、肩、肘、手首、頭を特定するセルが含まれています。Maya にキャラクタの構造を認識させるためにマップする必要のある必須ノードが 15 個あります。
> キャラクタ名の変更(Rename Character)を選択して、キャラクタの名前を Humanoid に変更します。OK をクリックします。
- キャラクタ ビュー内を
クリックし、表示されるメニューから名前の一致(Name Match)ビューを選択します。
このビューには、スケルトン定義の概要が表示されます。ボーンが、関連するボディ パーツまたは IK エフェクタに従ってグループ化されてリストに表示されます。必須ノードは
ベース(必須)(Base (required))という見出しの下にグループ化されます。
- キャラクタ ビューに戻り(キャラクタ ビュー ウィンドウの任意の場所を
でクリックし、表示されるメニューからキャラクタ ビュー(Character View)を選択)、次のいずれかの方法を使用して Humanoid の構造のマッピングを開始します。
- キャラクタ ビューからスケルトンに進みます。ビューでセルをダブルクリックしてから(選択するとセルは青になる)、シーンで対応するボーンをクリックします。
たとえば、キャラクタ ビューで LeftUpLeg ノードをダブルクリックしてから、シーンで対応するボーンをクリックします(Humanoid:LeftUpLeg)。
LeftUpLeg ノードが緑に変わり、マッピングが有効であることが示されます。既定では、定義(Definition)タブ ツールバーのミラー一致(Mirror Matching)がオンになっているため、キャラクタのボディの左側と右側に対応する標準の l_ および r_ ボーンの命名規則に基づいて、RightUpLeg ノードも自動的にマップされます。
- スケルトンから定義(Definition)タブに進みます。ボーンを選択し、キャラクタ ビュー内の対応するセルを
クリックして、選択したボーンの割り当て(Assign Selected Bone)を選択します。
たとえば、Humanoid:Hips ジョイントを選択し、キャラクタ ビューの Hips ノードを
クリックします。
ヒント: アウトライナ(Outliner) (ウィンドウ > アウトライナ(Window > Outliner))を使用してキャラクタのジョイントを選択することもできます。選択する前に、アウトライナ(Outliner)で表示 > オブジェクト > ジョイント(Show > Objects > Joints)をオンにします。
設定が完了すると、Humanoid のマッピングは次のようになります。
注: 手をマッピングするときに、HumanIK ツールによりエラーが表示されます。このエラーはレッスンのためのものであり、次のステップで修正されます。
ベース(必須)(Base(Required))ボーン
|
Humanoid キャラクタのジョイント
|
Hips
|
Humanoid:Hips
|
LeftUpLeg
|
Humanoid:LeftUpLeg
|
LeftLeg
|
Humanoid:LeftLeg
|
LeftFoot
|
Humanoid:LeftFoot
|
RightUpLeg
|
Humanoid:RightUpLeg
|
RightLeg
|
Humanoid:RightLeg
|
RightFoot
|
Humanoid:RightFoot
|
Spine
|
Humanoid:Spine
|
LeftArm
|
Humanoid:LeftArm
|
左前腕
|
Humanoid:LeftForeArm
|
LeftHand
|
Humanoid:LeftHand
|
RightArm
|
Humanoid:RightArm
|
RightForeArm
|
Humanoid:RightForeArm
|
RightHand
|
Humanoid:RightHand
|
Head
|
Humanoid:Head
|
注: このキャラクタでは、リファレンス オブジェクトをマップしていませんが、通常は Reference オブジェクトをマップすることを強くお勧めします。リファレンス オブジェクトのマップの詳細については、作成 > ロケータ(Create > Locator) (『Maya ユーザ ガイド』)を参照してください。
- キャラクタ ビューに戻り(名前の一致(Name Match)ビュー内を
クリックし、キャラクタ(Character)ビューを選択)、黄色の確認ステータス インジケータに注目します。
これは、マッピングに問題があることを示しています。有効なスケルトン定義を作成するには、Humanoid が、キャラクタ セットアップの既定のポーズである T スタンスになっている必要があります。このポーズは、キャラクタのスケルトンのプロポーションとジョイントのトランスフォームに関する重要な情報を HumanIK ソルバに提供します。T スタンスには次の要件があります。
- キャラクタは Z 軸の正の方向を向いている必要があります。
- 両腕は X 軸に沿って広がっている必要があります。
- キャラクタの頭頂部は上方向、つまり Y 軸の正の方向を向いていて、正面は Z 軸の正の方向を向いている必要があります。
- 手のひらが地面に向き、親指が X 軸と平行になった状態でキャラクタの手は水平になります。
- キャラクタの足は(つま先が Z 軸に沿うような向きで)脚と直角になっている必要があります。脚を Y 軸のまわりに回転させないようにします(左足指が内側、つまり右脚方向に向いたり、外側、つまり右脚から遠ざかったりしないようにする)。
Humanoid が T スタンスになっているように見えますが、腕が X 軸と平行になっていないため、検証ステータス エラーが示されています。
- シーンで Humanoid の LeftArm ジョイントをクリックします。
- チャネル ボックス(Channel Box) (ディスプレイ > UI 要素 > チャネル ボックス/レイヤ エディタ(Display > UI Elements > Channel Box/Layer Editor))で、Humanoid:LeftArm オブジェクトのトランスフォーム アトリビュートを調整して次の値にします。
- 回転 X (Rotate X): 1.158
- 回転 Y (Rotate Y): -40.063
- 回転 Z (Rotate Z): 177.96
キャラクタ コントロール(Character Controls)で LeftHand および LeftArm セルが緑になり、Humanoid の左腕が X 軸と平行になったことが示されます。
- シーンで Humanoid の RightArm ジョイントをクリックします。
- チャネル ボックス(Channel Box)を使用して、RightArm オブジェクトの次のトランスフォーム アトリビュートを調整します。
- 回転 X (Rotate X): 0.825
- 回転 Y (Rotate Y): -40.148
- 回転 Z (Rotate Z): 177.947
キャラクタ コントロール(Character Controls)で検証スタータス インジケータが緑になり、スケルトン定義が有効になったことが示されます。
- (オプション)前述の方法を使用して、追加の脊椎ジョイントやロール ボーンなど、他のオプション ジョイントをマップできます。
注: オプションのジョイントを選択しやすくするには、円で囲まれた矢印ボタン

をクリックして、特定のボディ パーツ(首、肩、脊椎、手、足)のビューに切り替えます。
次のオプションのノードをマップできます。
オプションのボーン
|
Humanoid キャラクタのジョイント
|
Spine1
|
Humanoid:Spine1
|
Spine2
|
Humanoid:Spine2
|
Neck
|
Humanoid:Neck
|
LeftUpLegRoll
|
Humanoid:LeftUpLegRoll
|
LeftLegRoll
|
Humanoid:LeftLegRoll
|
RightUpLegRoll
|
Humanoid:RightUpLegRoll
|
RightLegRoll
|
Humanoid:RightLegRoll
|
LeftArmRoll
|
Humanoid:LeftArmRoll
|
LeftForeArmRoll
|
Humanoid:LeftForeArmRoll
|
RightArmRoll
|
Humanoid:RightArmRoll
|
RightForeArmRoll
|
Humanoid:RightForeArmRoll
|