VRChat 非公式日本語ドキュメント

リグの要件

注意

このページの内容は大幅に古くなっていますが、大部分は現在も正確なはずです。

このページでは、アバターのリグ、ボーン、アーマチュアを設定するための要件をいくつか説明します。これらの要件に従えば、VRChat内でアバターの手足が正しく動くはずです。

また、SDKビルドパネルを確認し、「Validations」セクションにエラーが出ていないかチェックすることもできます。

エクスポート設定

使用する3Dエディタからリグをエクスポートする際は、座標設定が正しいことを確認してください。ほとんどの場合、デフォルト設定で問題ありません。

Blenderを使用する場合、レスト時のX回転が90度になっていることを確認してください。

ヒューマノイドリグ

ヒューマノイドリグの設定がヒューマノイド向けのMecanim要件を満たしてnotいる場合、Unityによってフラグが立てられます。Unityのアバター設定に関するドキュメントを読み、内容を把握しておいてください。

ヒューマノイドアバターには、頭部、手、足のボーンがマッピングされている必要があります。

アバターのリグがHumanoid形式であるにもかかわらず、必須のボーンが割り当てられていない場合、VRChat Build Control Panelにこのメッセージが表示されます。

人間以外の(Non-human)アバター

アバターが人間から大きくかけ離れている場合(四足歩行、前かがみのモンスターなど)、Genericリグを使用して独自のAnimation Controllerを作成することを検討してください。例としてSimpleAvatarControllerを参照してください。これはHumanoidを作成するよりも高度な作業となるため、UnityのAnimation Controllerシステムを十分によく理解しておく必要があります。

指の割り当て(Finger Mappings)

Thumb、Index、Middleの指のボーンが割り当てられていない場合、Full-Body IKは無効になります。

この警告はSDK3のアバターには表示されません。SDK3では指のボーンがないアーマチュアを使用しても問題ないためです。 このエラーは、現在では非推奨であり使用すべきではないVRChat SDK2を使用している場合にのみ発生します。

フルIK(しゃがみ込みや自動足踏み機能)を有効にするには、これら3本の指のボーンを割り当てる必要があります。この警告を無視した場合、アバターはしゃがむことができず、足も自動的に動かなくなります(コントローラーによる移動を使用する場合を除く)。

また、ハンドジェスチャーによるカスタムアニメーションオーバーライドの再生も阻止されます。(この点は、現在のSDKの警告にはnot明記されていません。)

Spine Hierarchy

HumanoidリグでUPPERCHESTが割り当てられています。これはIKの問題を引き起こす原因となります。

この警告はSDK3アバターには表示されません。SDK3ではUpper Chestが割り当てられたアーマチュアを使用しても問題ないためです。このエラーは、非推奨であり使用すべきではないVRChat SDK2を使用している場合にのみ発生します。

SDK2を使用する必要がある場合は、Humanoidの設定時にUpper Chestのボーンを空欄にしてください。

Spine hierarchyの要素が不足しています。Pelvis、Spine、Chest、Neck、Shouldersが割り当てられていることを確認してください。

これらのボーンはすべて割り当てる必要があります。このメッセージが表示された場合は、いずれのスロットも空でないことを確認してください。なお、MecanimではNeckとChestのスロットは任意ですが、VRChatでは必須となります。

Spine hierarchyが正しくありません。ShouldersとNeckの両方の親がChestであることを確認してください。

IKを適切に動作させるには、胸部周辺のボーン構成を特定の階層にする必要があります。リグにおいて、肩のボーン(Left Arm > ShoulderおよびRight Arm > Shoulderのスロットに割り当てられたもの)は、胸のボーン(Body > Chestスロットに割り当てられたもの)の直下の子である必要があります。また、首のボーン(Head > Neckスロットに割り当てられたもの)も同様に、Chestの直下の子である必要があります。

腕と脚の階層

LowerArmがUpperArmの最初の子ではない、またはHandがLowerArmの最初の子ではない場合、前腕の回転で問題が発生する可能性があります。

VRChatのIKシステムは、ボーンの配置を決定する際、そのボーンの最初の子要素を参照します。リグ内に小道具配置用ボーンやツイストボーンなどの他の子ボーンが含まれていると、IKが正しく認識できないことがあります。このケースでは、SDKがLowerArmUpperArmボーンのリスト内で最初の子として認識できていません。

これを修正するには、該当する子ボーンを親ボーンの子リストの先頭位置に移動してください。これを行うには、アバターのPrefabをアンパックする必要があります。

注意点として、このメッセージはスロット名を指しており、リグ内の実際のボーン名を指しているわけではありません。そのため、そのスロットにどのボーンが割り当てられているかを確認する必要があります。

LowerLeg が UpperLeg の最初の子ではない、または Foot が LowerLeg の最初の子ではない場合、すねの回転で問題が発生する可能性があります。

上記を参照してください。

Eye bones(目のボーン)

アバターの目のボーンを次のように設定してください:

  • Y軸が上を向くようにしてください。
  • Z軸が前を向くようにしてください。

一般的な階層構造

このアバターは階層が分割されています(Hips ボーンがすべてのヒューマノイドボーンの祖先ではありません)。IKが正しく動作しない可能性があります。

一部のリグでは、階層が上半身と下半身の2つのセクションに分かれています。この場合、Body > Hips スロットに入れるボーンは、マッピングする他のすべてのヒューマノイドボーンの祖先(親、またはそれ以上の階層)である必要があります。このようなリグを扱う際は十分に注意してください!多くの場合、これらのボーンの祖先は地面にあるルートボーンやその他の配置になっており、ヒップボーンとしての配置には不適切です。これらのリグの多くはVRChatでの使用には適しておらず、正しく機能させるにはリグの作り直しが必要です。

フルボディトラッキング

フルボディトラッキングを使用している場合、つまり3つのHTCトラッキングデバイス(Puck)を接続している場合には、特別な配慮が必要です。フルボディトラッキング使用時にアバターが適切に動作するようにするための推奨事項がいくつかあります。

フルボディトラッキングのリギング要件に関する詳細情報は、フルボディトラッキングシステムガイドをご覧ください。

骨盤と大腿骨の間の角度が180度に近い必要があります(このアバターの角度は ___ です)。フルボディIKやトラッキングが正常に動作しない可能性があります。

フルボディトラッキングは、腰と大腿骨の間の角度に敏感です。この角度は、AvatarTPoseControllerをアバターに適用した状態で測定するのが最適です。理想的には、Tポーズで腰のボーンが真上を向き、大腿骨が真下を向いていることですが、多少のずれは許容されます。フルボディトラッキングを使用しない場合は、このメッセージを無視して構いません。

Toe Bones

Humanoidアバターにおいて、Toeボーンのマッピングは必須ではありません。しかし、Toeボーンをマッピングすれば、アバターがつま先立ちで上下に動けるようになります。また、Toeをマッピングすることで、Use Auto Footstepの見た目がより自然になり、自動姿勢制御の基準位置がかかとではなくToeボーンの起点に合わせられるため、バランスの見た目も向上します。

最終更新: