キャラクターボディモデルは、プラットフォーム全体でアバター機能が期待通りに動作することを保証するために、特定のコンポーネントと構成基準のセットを必要とします。エクスポートプロセスを開始する前に、モデルが以下のモデリング仕様とスタジオの互換性に関するガイドラインを満たしていることを確認してください。
キャラクターボディをエクスポートする準備ができたら、BlenderおよびMayaのすべてのエクスポート設定要件を参照してください。
ジオメトリ
アバター用のキャラクターボディモデルは、15の別々のメッシュオブジェクトで構成されており、スタジオにインポートして成功裏に公開するために追加のジオメトリ要件が必要です。ボディスケールタイプ、ボディパーツ、および三角形予算の仕様に加えて、キャラクターのボディをモデリングする際に、モデルが以下の一般的な要件も満たしていることを確認してください。
- 防水性 - すべてのジオメトリは防水性があり、露出した穴や裏面があってはなりません。外部ケージとして使用されるメッシュは防水性である必要はありません。
- N-gonなし - 可能な限り、アセットを四角形でモデリングしてください。
- 変換 - すべての移動、回転、スケール値はフリーズされ、ピボットは 0, 0, 0 に設定されている必要があります。
- 向き - キャラクターは正のZを向き、正のYに立っている必要があります。
- ポーズ - エクスポートする前に、可能な限りキャラクターをIポーズ、Aポーズ、またはTポーズに設定してください。
ボディスケール
Robloxは、ノーマル、スレンダー、およびクラシックの3つのキャラクターボディスケールをサポートしています。これらの基準により、開発者は標準的な動きと相互作用を標準化するために、一貫したボディサイズのゲームやスペースを作成できます。インポート時にリグスケールオプションを使用してボディスケールを選択するか、ボディスケールを手動で変更できます。ボディスケールは、アセットがマーケットプレイスにアップロードされるときに持続します。

Robloxが15のボディパーツを6つの異なるアセットにどのように組み合わせるかの視覚化。
ノーマル

Rthroノーマルボディスケールのダウンロード可能なマネキン。
インポーターで、リグタイプ > Rthroを使用して、モデルをノーマルボディスケールとしてインポートします。
| パーツ | X (幅) | Y (高さ) | Z (奥行き) |
|---|---|---|---|
| 頭 | .5 | .5 | .5 |
| 腕 | .25 | 1.5 | .25 |
| 胴体 | .85 | 1.7 | .7 |
| 脚 | .25 | 1.4 | .5 |
| 合計 | 1.35 | 3.6 | .7 |
| パーツ | X (幅) | Y (高さ) | Z (奥行き) |
|---|---|---|---|
| 頭 | 3 | 2 | 2 |
| 腕 | 2 | 4.5 | 2 |
| 胴体 | 4.6 | 3.5 | 2.25 |
| 脚 | 1.5 | 4 | 2 |
| 合計 | 8.6 | 9.5 | 2.25 |
スレンダー

Rthroスレンダー(ナロー)ボディスケールのダウンロード可能なマネキン。
インポーターで、リグタイプ > Rthroナローを使用して、モデルをスレンダーボディスケールとしてインポートします。
| パーツ | X (幅) | Y (高さ) | Z (奥行き) |
|---|---|---|---|
| 頭 | .5 | .5 | .5 |
| 腕 | .25 | 1.5 | .25 |
| 胴体 | .85 | 1.7 | .7 |
| 脚 | .25 | 1.4 | .5 |
| 合計 | 1.35 | 3.6 | .7 |
| パーツ | X (幅) | Y (高さ) | Z (奥行き) |
|---|---|---|---|
| 頭 | 2 | 2 | 2 |
| 腕 | 1.5 | 4 | 2 |
| 胴体 | 3 | 3.5 | 2 |
| 脚 | 1.5 | 4 | 2 |
| 合計 | 6 | 9.5 | 2 |
クラシック

クラシックボディスケールのダウンロード可能なマネキン。
インポーターで、リグタイプ > デフォルトを使用して、モデルをクラシックボディスケールとしてインポートします。
| パーツ | X (幅) | Y (高さ) | Z (奥行き) |
|---|---|---|---|
| 頭 | .5 | .5 | .5 |
| 腕 | .25 | 1.5 | .25 |
| 胴体 | .85 | 1.7 | .7 |
| 脚 | .25 | 1.4 | .5 |
| 合計 | 1.35 | 3.6 | .7 |
| パーツ | X (幅) | Y (高さ) | Z (奥行き) |
|---|---|---|---|
| 頭 | 1.5 | 1.8 | 2 |
| 腕 | 2 | 3 | 2 |
| 胴体 | 4 | 3.8 | 2 |
| 脚 | 1.5 | 3.5 | 2 |
| 合計 | 8 | 9.1 | 2 |
三角形予算
キャラクターボディモデルのジオメトリは通常四角形を使用して作成されますが、Robloxエンジンはインポートされたアセットを三角形に変換します。キャラクターモデルの各アセットは、最大三角形予算を超えてはなりません。サードパーティのモデリングアプリケーションで予想される三角形数を迅速に取得するには、モデル内の四角形の数を2倍にします。
| アセットタイプ | 含まれるメッシュオブジェクト | 最大三角形数 |
|---|---|---|
| DynamicHead | 頭 | 4000 |
| 胴体 | UpperTorso, LowerTorso | 1750 |
| 左腕 | LeftUpperArm, LeftLowerArm, LeftHand | 1248 |
| 右腕 | RightUpperArm, RightLowerArm, RightHand | 1248 |
| 左脚 | LeftUpperLeg, LeftLowerLeg, LeftFoot | 1248 |
| 右脚 | RightUpperLeg, RightLowerLeg, RightFoot | 1248 |
| 合計 | 頭, UpperTorso, LowerTorso, LeftUpperArm, LeftLowerArm, LeftHand, RightUpperArm, RightLowerArm, RightHand, LeftUpperLeg, LeftLowerLeg, LeftFoot, RightUpperLeg, RightLowerLeg, RightFoot | 10,742 |
ボディパーツ
キャラクターボディモデルを構成する個々のメッシュオブジェクトの仕様は以下の通りです。
命名規則 - 四肢はすべて特定の名前を付ける必要があります:
- UpperTorso_Geo
- LowerTorso_Geo
- LeftUpperArm_Geo
- LeftLowerArm_Geo
- LeftHand_Geo
- RightUpperArm_Geo
- RightLowerArm_Geo
- RightHand_Geo
- LeftUpperLeg_Geo
- LeftLowerLeg_Geo
- LeftFoot_Geo
- RightUpperLeg_Geo
- RightLowerLeg_Geo
- RightFoot_Geo
- Head_Geo
キャップ - 四肢はキャップされている必要があり、体から分離されても完全な防水メッシュを形成する必要があります。キャップはデザインに応じて丸みを帯びているか平らである必要があります。

顔のアクセサリー
眉毛やまつげなどの顔のアクセサリーは、アバターキャラクターボディのアップロードとバンドルできるユニークなレイヤーアクセサリーです。現時点では、眉毛やまつげはスタンドアロンのアクセサリーとしてアップロードできず、キャラクターボディとバンドルする必要があります。顔のアクセサリーに関する詳細は、レイヤーアクセサリー仕様 - 顔のアクセサリーを参照してください。
可視性
アバターのサイズが視覚的に一貫していることを保証するために、以下の要件に従ってボディパーツの可視性を標準化する必要があります。
- 不透明度 - ボディパーツは完全に不透明でなければなりません。
- バウンディングボックス - ボディパーツアセットは、前面、側面、背面のビューでバウンディングボックスの重要な可視部分を占める必要があります。
- 胴体、左腕、右脚などのボディパーツは、ボディパーツのバウンディングボックスの少なくとも50%を占める必要があります。
- 頭部パーツは、メッシュのバウンディングボックスの少なくとも50%を占める必要があります。

前面ビューでバウンディングボックスの大部分を占める許可された頭部メッシュの例 
前面ビューで適切なバウンディングボックスのスペースを占めていない非許可の頭部メッシュの例
アタッチメント
アタッチメントは、アクセサリーやゲーム内で装備可能なオブジェクトがキャラクターのボディに取り付けられる特定の位置を決定するポイントです。多くのキャラクターコンポーネントと同様に、アタッチメントポイントはサードパーティのモデリングソフトウェアで設定され、Attachmentオブジェクトとしてインポートされます。
インポーターは、オブジェクトに接尾辞_Attが含まれ、以下の命名規則に従っている場合、メッシュオブジェクトをアタッチメントポイントとして自動的に認識して変換します。これは、ボディなどのケージデータを持つメッシュをインポートする場合にのみ適用されます(アクセサリーアタッチメントポイントはアクセサリーフィッティングツールを使用して作成されます)。この実装の例は、Robloxのダウンロード可能なリファレンスモデルのいずれかで確認できます。
一般的に、アタッチメントポイントを配置する際は、キャラクターモデルのメッシュパーツと半分重なるように配置します。


アタッチメントは特定の命名規則と位置の一貫性に従う必要があります。
| メッシュパーツ | アタッチメント名 | 詳細 |
|---|---|---|
| 頭 | FaceCenter_Att | メッシュバウンディングボックス内の任意の場所 |
| FaceFront_Att | メッシュバウンディングボックスの前半 | |
| Hat_Att | メッシュバウンディングボックスの上半分、Hair_Attと重なることができます | |
| Hair_Att | メッシュバウンディングボックスの上半分、Hat_Attと重なることができます | |
| UpperTorso | LeftCollar_Att | メッシュバウンディングボックスの左上半分 |
| RightCollar_Att | メッシュバウンディングボックスの右上半分 | |
| Neck_Att | メッシュバウンディングボックスの上半分 | |
| BodyBack_Att | メッシュバウンディングボックスの後半 | |
| BodyFront_Att | メッシュバウンディングボックスの前半 | |
| LowerTorso | Root_Att | 0, 0, 0の位置に設定する必要があります |
| WaistFront_Att | メッシュバウンディングボックスの前半、WaistCenter_Attと重なることができます | |
| WaistBack_Att | メッシュバウンディングボックスの後半 | |
| WaistCenter_Att | メッシュバウンディングボックス内の任意の場所、WaistFront_Attと重なることができます | |
| 右上腕 | RightShoulder_Att | メッシュバウンディングボックスの上半分 |
| 右手 | RightGrip_Att | メッシュバウンディングボックス内の任意の場所。 グリップアタッチメントは、下腕のボーンに垂直に向けて配置します。たとえば、Iポーズ(腕が下を向いている)では、グリップアタッチメントを90, 0, 0(グリップアタッチメントが前を向く)に設定します。 ![]() |
| 左上腕 | LeftShoulder_Att | メッシュバウンディングボックスの上半分 |
| 左手 | LeftGrip_Att | メッシュバウンディングボックス内の任意の場所。 グリップアタッチメントは、下腕のボーンに垂直に向けて配置します。たとえば、Iポーズ(腕が下を向いている)では、グリップアタッチメントを90, 0, 0(グリップアタッチメントが前を向く)に設定します。 ![]() |
| 右足 | RightFoot_Att | メッシュバウンディングボックス内の任意の場所 |
| 左足 | LeftFoot_Att | メッシュバウンディングボックス内の任意の場所 |
リギング
一般的なリグとは異なり、ヒューマノイドモデルは内部ボーンまたはジョイント構造の特定の階層と命名規則を必要とします。


標準リグ
以下の要件は、標準のヒューマノイドリグに適用されます。
リグ階層 - ヒューマノイドリグは、特定のボーンまたはジョイントの階層と命名規則を必要とします:
- ルート
- HumanoidRootNode
- LowerTorso
- UpperTorso
- 頭(首の基部を表す)
- LeftUpperArm
- LeftLowerArm
- LeftHand
- RightUpperArm
- RightLowerArm
- RightHand
- LeftUpperLeg
- LeftLowerLeg
- LeftFoot
- RightUpperLeg
- RightLowerLeg
- RightFoot


- LowerTorsoとRoot - LowerTorsoとRootのボーンまたはジョイントの位置は0, 0, 0に設定する必要があります。
- ポーズ - 最良のスタジオ互換性のために、キャラクターモデルをIポーズ、Aポーズ、またはTポーズでエクスポートしてください。LeftUpperArmとRightUpperArmのボーンは、この要件を満たすために回転値を持ってエクスポートできます。
高忠実度リグ
高忠実度のヒューマノイドリグは、標準リグと同じ要件を持ちますが、手、肩、脊椎の動きに対してより高いレベルのリアリズムを提供するために、最大37の追加のオプションボーンまたはジョイントをサポートします。
高忠実度のヒューマノイドリグにすべてのオプションボーンまたはジョイントを含める必要はありませんが、含める各オプションボーンまたはジョイントは、対応するボディパーツの特定の階層と命名規則に従う必要があります。
| 階層 | 例のリグ設定 |
|---|---|
|


高忠実度キャラクタリグをスタジオにインポートした後、マーケットプレイスでキャラクターを販売できるように、アニメーションが正しく機能するために、HumanoidRigDescriptionおよび/またはDigitsRigDescriptionオブジェクトをリグに挿入する必要があります。
- HumanoidRigDescriptionオブジェクトは、個々のボディパーツをアニメーション化し、リグの行動特性を調整するために必要です。たとえば、各ボーンやジョイントのサイズや可動範囲などです。
- DigitsRigDescriptionオブジェクトは、手の関節に必要です。各手に1つ必要で、オプションのボーンやジョイントが必要です。
これらのオブジェクトタイプは、命名規則によってボーンやジョイントを検出するため、キャラクタリグをスタジオにインポートする前に、上記の表に従ってすべてのオプションボーンやジョイントが正しく命名されていることを確認することが非常に重要です。参照できる高忠実度リグのセットについては、リソース - 高忠実度リグを参照してください。
スキニング
Robloxは、リグ付きメッシュのスキニングをサポートしています。スタジオでのスキンメッシュの実装に関する詳細は、リギングとスキニングを参照してください。
キャラクターボディのスキニングに関する要件は以下の通りです。
- 最大影響 - 頂点は4つのボーンまたはジョイント以上の影響を受けることはできません。
- ルート影響なし - ルートボーンまたはジョイントに影響を適用しないでください。
- 対称性 - 可能な限り、リグに影響を適用する際は対称性を維持してください。
顔のアニメーション
必要な顔のアニメーションサポートに関する情報は、頭の仕様を参照してください。
テクスチャ
- マーケットプレイスアセットのテクスチャは、2048x2048の解像度を超えてはなりません。
- アクセサリー用に作成されたテクスチャは、Robloxのテクスチャ仕様を満たす必要があります。高解像度のテクスチャは、自動的に低解像度のテクスチャに変換され、パフォーマンスが最適化されます。
- アバターキャラクターは、Robloxのテクスチャ仕様に従う必要があります。マーケットプレイス用に作成されたキャラクターは、ユーザーが独自のベースカラーを選択できるように、アルファレイヤーを使用したカスタムスキントーンの利点を享受できます。
カスタムスキントーン
ユーザーが独自のスキントーンを設定できるアバターキャラクターボディモデルのテクスチャを設定する際は、露出した肌の部分を透明に設定し、デフォルトの色やテクスチャがテクスチャに焼き付けられないようにします。レンダリング時に、スタジオはレイヤー効果なしで透明なレイヤーを上に適用します。このステップは、ユーザーがカスタマイズできるように意図された露出した肌を持つ人間のようなキャラクターに主に適用されます。
以下は、顔のスキントーンシェーディングの例であり、露出した肌を持つアバターの任意の部分にこのプロセスを適用できます。

- カスタマイズされたスキントーンに関連しない領域には100%の不透明度を使用します。たとえば、目や眉などです。
- シェーディングを適用する際は、低い不透明度で黒を使用し、必要に応じて不透明度を調整します。
- シェーディングの輪郭や特定の化粧機能など、部分的に半透明の領域には、スキントーンの部分的な可視性のためにいくつかの透明度を残します。
- 様々な色のレイヤーがシェーディングとどのように相互作用するかを一貫してテストする必要があります。




アウターケージ
キャラクターモデルのアウターケージは、キャラクターがシャツやジャケットなどのレイヤーアクセサリーを着用できるようにし、体に伸びて巻きつくことを可能にします。キャラクターボディモデルにアウターケージメッシュを追加するための要件については、以下のリストを確認してください。
- RobloxのアバターセットアップまたはRobloxのボディケージテンプレートを使用して、命名規則やその他の構成が正しいことを確認してください。
- 命名規則 - ボディパーツのアウターケージは、主要なメッシュオブジェクトの名前に**_OuterCage**を付けて命名する必要があります。たとえば、LeftUpperArm_OuterCageです。
- 頂点とUVマップ - アウターケージの頂点を削除したり、UVを変更したりしないでください。これにより、スタジオにインポートする際やキャラクターに装備する際にエラーが発生する可能性があります。互換性を確保するために、Robloxが提供するケージメッシュのテンプレートを使用してください。
- 対称性と一貫性 - モデリングソフトウェアの対称ツールを使用して、ジオメトリの各面のサイズを一貫して保ち、可能な限り対称性を維持してください。
- ダイナミックヘッドケージおよびケージ作成時のベストプラクティスに関する情報は、ダイナミックヘッド仕様を参照してください。
マーケットプレイス要件
他の技術要件に加えて、アイテムをマーケットプレイスにアップロードして販売する前に、以下の追加仕様を満たす必要があります。
- キャラクターボディがマーケットプレイスポリシーに準拠していることを確認してください。
- 適用可能な場合は、キャラクターボディがRobloxのカスタムメッシュ仕様に準拠していることを確認してください。
- オブジェクトMaterialはPlasticに設定されている必要があります。
- オブジェクトTransparencyは0に設定されている必要があります。
- オブジェクトVertexColorはデフォルトの1, 1, 1である必要があります。
- キャラクターの頭に別々のまつげや眉毛のアセットが含まれている場合、それらをAccessoryオブジェクトとしてキャラクターボディモデルに追加する必要があります。詳細については、まつげと眉毛を持つボディを公開するを参照してください。


