ケージメッシュは、可視レンダーメッシュのための不可視の表面を定義することを可能にします。Studioでは、ケージメッシュを組み合わせて、ターゲットメッシュの上にメッシュをラップ、ストレッチ、縮小、またはその他の変形を行うことができます。
これらの変形可能なメッシュは、BlenderやMayaなどのサードパーティのモデリングツールを使用して作成し、Studioにインポートする必要があります。このチュートリアルではBlenderを使用し、参照用にBlenderプロジェクトファイルを提供します。

ケージメッシュは、相互作用するために少なくともWrapTargetとWrapLayerを必要とします。2種類のケージメッシュの詳細については、ケージタイプを参照してください。
ケージタイプ
ケージメッシュを扱う際には、2種類のメッシュがあります:ターゲットメッシュとレイヤーメッシュです。



| ケージメッシュタイプ | Blenderでの設定 | 命名要件 |
|---|---|---|
| ターゲットメッシュ レイヤーメッシュが変形する基本メッシュ。 | ![]()
| レンダーメッシュの名前の後に_OuterCageサフィックスを付けて名付けます。例:Cube_OuterCage。 単独の_OuterCageはWrapTargetとしてインポートされます。 |
| レイヤーメッシュ ターゲットメッシュの周りにラップしてフィットします。 | ![]()
| レンダーメッシュの名前の後に_InnerCageおよび_OuterCageサフィックスを付けて名付けます。例:Shirt_InnerCageおよびShirt_OuterCage。 2つのケージメッシュは一緒にWrapLayerとしてインポートされます。 |
ケージを作成する
レンダーメッシュを最終化した後にケージメッシュを作成します。後でレンダーメッシュのトポロジーやUVを変更した場合、ケージを再調整する必要があるかもしれません。
参照用に、.blendプロジェクトをダウンロードして、これらの正確なモデルや他の例を確認してください。このプロジェクトには、3つのターゲットケージメッシュ構成と2つのレイヤーケージメッシュ構成が含まれています。

ターゲットメッシュをケージ化する
以下の例では、標準のBlenderキューブに外部ケージを作成します。キューブは各軸に10のループカットがあり、後でスカルプト用の追加の頂点を追加します。
外部ケージを作成するには:
ケージの出発点として使用するためにレンダーメッシュを複製します。この例では、キューブが複製されます。
複製したものに_OuterCageサフィックスを付けて名前を変更します。例:Cube_OuterCage。

(オプション)レンダリングされたモデルの複雑さに応じて、複製したメッシュを低い頂点数に簡略化します。ケージは詳細なコピーではなく粗いシェルであるべきです。たとえば、詳細なアバターの頭は、はるかに単純なメッシュでケージ化されます:

アバターキャラクターの頭のメッシュは最大12,000の頂点を含むことができます。 
アバターキャラクターの頭のケージは335の頂点のみを含みます。 ケージを調整して、レンダ表面のすぐ外側に位置し、完全に囲むようにします。正確なレイヤリングのために表面にできるだけ近づけます。ワイヤーフレームビューポートシェーディングに切り替えると、下のレンダーメッシュを見るのに役立ちます。

UV編集タブで、ケージメッシュにUV座標があることを確認します。将来のレイヤーメッシュケージが同じUVマッピングを共有することを確認する必要があります。

外部ケージのUVは、上に変形するレイヤーメッシュケージのUVと一致する必要があります。 アウトライナーにレンダーメッシュが単一の_OuterCageの下に表示されていることを確認し、次の構成と一致します。

全く異なるジオメトリでターゲットをケージ化することもできます。ケージメッシュが同じUVマップを共有している限り、レイヤーメッシュはそれに変形できます。これにより、単一のレイヤーメッシュが多くの異なる形状のターゲットにフィットすることができます。以下のツイストメッシュは、たとえば、キューブと同じUVレイアウトを使用しているため、同じレイヤーメッシュが両方のターゲットに変形できます。

レイヤーメッシュをケージ化する
レイヤーメッシュは、ターゲットの形状に変形することを期待するメッシュです。レイヤーメッシュには、内部ケージと外部ケージの両方が必要です:内部ケージはターゲットに適合する表面を定義し、外部ケージは追加のレイヤーがその上にラップされる表面を定義します。
内部ケージと外部ケージを作成するには:
内部ケージの出発点として使用するためにレンダーメッシュを複製します。
- すでにターゲットケージメッシュを作成している場合は、レイヤーケージのUVがそれと一致していることを確認してください。
複製したものに_InnerCageサフィックスを付けて名前を変更します。例:Layered-Mesh_InnerCage。
内部ケージを調整して、レンダ表面のすぐ内側に位置させます。

_InnerCageを複製し、コピーに_OuterCageサフィックスを付けて名前を変更します。例:Layered-Mesh_OuterCage。
外部ケージを調整して、レンダ表面のすぐ外側に位置し、完全に囲むようにします。外部ケージは、追加のレイヤーがその上にラップされる表面です。

両方のケージがターゲットメッシュと同じUVレイアウトを共有していることを確認します。RobloxはUVによってレイヤーメッシュをターゲットとペアリングします。
アウトライナーにレンダーメッシュが_InnerCageと_OuterCageの両方の下に表示されていることを確認し、次の構成と一致します。

アバター用のレイヤー付きアクセサリー
Robloxのアバターアイテム、たとえばキャラクターの体(ターゲットメッシュ)やマーケットプレイスの衣服(レイヤーメッシュ)は、すべて共通のケージを共有する必要があります。これにより、アクセサリーや衣服との普遍的な互換性が確保されます。アバターやレイヤー付きアクセサリーを作成する場合は、独自のケージメッシュを作成しないでください — Robloxは、変更可能なダウンロード可能なケージテンプレートを提供しています。あるいは、Robloxのアバター設定ツールを使用して、アクセサリー用のRobloxサポートケージを自動的に生成することもできます。
レイヤー付きアクセサリーの作成に関する詳細は、以下のリソースを参照してください:
エクスポートとインポート
エクスポートする前に、Studio用の正しいエクスポート設定を適用します。.fbxをエクスポートする際は、スケーリングを適用をFBXユニットスケールに設定し、モデルがStudioで同じスケールを維持するようにします。詳細については、スケールを調整する(FBX)を参照してください。
レンダーメッシュとそのケージを一緒に単一の.fbxまたは.gltfファイルとしてエクスポートします。Studioは両方の形式からケージを同等にインポートするため、モデリングアプリケーションが最も信頼性高くエクスポートする形式を使用してください。
インポート後、Studioが期待されるオブジェクトを作成したことを確認します:外部ケージのみのメッシュの場合はWrapTarget、両方のケージを持つメッシュの場合はWrapLayerです。

外部ケージのみのメッシュはWrapTargetとしてインポートされます。 
両方のケージを持つメッシュはWrapLayerとしてインポートされます。 ターゲット(WrapTarget)と変形メッシュ(WrapLayer)の両方がある場合は、変形を適用してメッシュをターゲットに再形成します。
