自動スキニング転送を使用すると、レイヤー付きアクセサリーや顔のアクセサリーが、取り付けられたキャラクターボディモデルに沿って正確に変形します。アクセサリー自体をスキンする必要はありません。3Dモデリングソフトウェアでモデルを手動でリギングとスキニングするという複雑な作業の代わりに、この機能を使用してアクセサリーにスキニングデータを転送または生成できます。自動スキニング転送を使用すると、Robloxエンジンはランタイムでスキニングを作成し、適用します。
自動スキニング転送を使用するためにアクセサリーのジオメトリをスキンする必要はありません。実際、オートスキンされたアクセサリーは、アニメーション中に取り付けられたほとんどのキャラクターと正確に動作します。たとえそれらのキャラクターが異なる数のジョイントやボーンを持っていたり、異なる種類のスキニングを使用していたりしても問題ありません。

自動スキニング転送を有効にする
自動スキニング転送プロセスを有効にするには、次の手順を実行する必要があります。
- ゲーム内で StarterPlayer.LoadCharacterLayeredClothing を有効にします。
アクセサリーにスキニングデータがない場合、または既存のスキニングデータを上書きすることを選択した場合、Robloxエンジンはキャラクターのジオメトリとケージからスキニングデータを計算し、新しいスキニングデータとアクセサリーに関連付けられたリグが、ソースジオメトリ自体と同期してアクセサリーの変形と動きを駆動します。
ベストプラクティス
自動スキニング転送は手動スキニングよりも優れた結果を得られることが多いですが、レイヤー付きアクセサリーのスキニングプロセスで予期しない動作を減らすためのベストプラクティスがあります。すべてのモデリングプロセスと同様に、異なるアバタータイプでレイヤー付きアクセサリーや顔のアクセサリーを常にテストして、望ましい結果を得るようにしてください。
特殊スキニング転送ジョイント
自動スキニング転送は、まつげや眉毛などの特定の詳細なアクセサリータイプではうまく機能しない場合があります。より制御されたスキニング転送結果を得るために、アクセサリーのジオメトリを2つの特別に名付けられたジョイントのいずれかにスキンするオプションがあります:RBX_Leader と RBX_Follower。
RBX_Leader にスキンされた頂点は、現在存在する同じ転送プロセスを経ます。しかし、RBX_Follower にスキンされた頂点は、最も近いリーダー頂点に基づいて転送されます。これにより、まつげの先端が通常はまぶたのどこかに転送されるのではなく、まつげの基部に従うのではなく、より良い結果が得られます。
まつげの場合、RBX_Leader に適した候補は、キャラクターのまぶたの上に位置することを意図したものです。残りの頂点は RBX_Follower にスキンできます。


眉毛の場合、RBX_Leader に適した候補は、眉のラインに沿ったエッジの頂点です。


Blenderでは、オブジェクトデータプロパティ > 頂点グループを使用して、頂点グループの割り当てを管理および表示します。

この方法をサポートするためにスタジオで追加の作業は必要ありません。レイヤー付きアクセサリーが Class.WrapLayer.AutoSkin.EnabledOverride に設定され、これらのジョイントが存在し、頂点がそれに割り当てられている場合、このスキニング転送のバリエーションが有効になります。
これらのジョイントをUGCアイテムとして使用してアクセサリーをアップロードする場合、いくつかのルールに注意する必要があります。
- 頂点はこれらのジョイントに部分的にウェイトを持つことはできません。使用したい場合は、頂点をウェイト 1.0 でジョイントにスキンする必要があります。
- これらのジョイントがメッシュに存在する場合、アクセサリーは WrapLayerAutoSkin.EnabledOverride に設定されている必要があります。
- これらのジョイントを含むボディパートメッシュは、検証によって拒否されます。
- 眉毛およびまつげアクセサリータイプは、特別なスキニングジョイントを持ち、WrapLayerAutoSkin.EnabledOverride に設定されている必要があります。
キャラクターケージの変更
自動スキニング転送を使用して、レイヤー付きアクセサリーが期待されるキャラクターの表面に正確に変形するように、キャラクターボディのケージを変更できます。たとえば、オートスキニングは、アクセサリーとその内部ケージとの間の最も近い距離に基づいて変形を引き起こす可能性があります。
以下のひげアクセサリーは、ブロック状のフルボディケージを使用してモデリングされました。これにより、ひげが不正確に変形し、ひげの一部がキャラクターケージの上部胸部に近くなり、顎ではなくなります。

レイヤー付きアクセサリーがキャラクターのジオメトリの望ましくない領域からスキニングデータを使用しないようにするには、異なるキャラクターマネキンケージでアセットをモデリングできます。たとえば、ブロック状のキャラクターは、胴体にスキンされたひげで苦労しますが、ヒューマノイドのように実際の首を持つキャラクターはこの問題を抱えません。
または、レイヤー付きアクセサリーがスキンされるべきでない外部ケージの部分を削除することもできます。これはマーケットプレイス向けのアセットには有効なワークフローではありませんが、ゲーム内アセットには使用できます。たとえば、以下の画像は、外部ケージが変更され、頭のジオメトリのみを含むようにした方法を示しています。この外部ケージの改善により、スキニングデータを自動的に転送すると、ひげと部分的なケージは頭のジオメトリからのみ正しくスキニングされます。

前の例の変形問題は、まったく異なるケージを使用することでも解決できます。たとえば、胸と顎の間により多くのスペースがあるヒューマノイドケージを使用すると、ひげは頭に最も近くなり、胸や首の領域からスキニングデータが転送されないようになります。

キャラクターのケージの異なる領域を変更することで、レイヤー付きアクセサリーや顔のアクセサリーが体や頭の正しい領域に関連して変形することを確認できます。たとえば、キャラクターモデルの腕を変更して、ドレスがキャラクターが走っているときに不正に取り付けられないようにしたり、足に不正にマッピングされるパンツを変更したりできます。
以下のジャケットの襟が、レイヤー付きアクセサリーが襟の領域で変形するため、頭と一緒に不正に動く様子を確認してください。これを解決するには、ジャケットが頭に関連して不正に変形しないように、ケージの頭の部分を削除できます。代わりに、肩の領域に関連して変形します。これは、この衣服にとってはるかに適切です。

異なるアクセサリーカテゴリ
自動スキニング転送は、帽子や眼鏡タイプのアクセサリーなど、特定のアクセサリーカテゴリではうまく機能しない場合があります。たとえば、帽子や眼鏡のアクセサリーは、通常は剛性であるべき領域に変形を引き起こす可能性があります。一般的に、これらのアクセサリーは剛性のままであり、スキニングデータを関連付けるべきではありません。
異なるアクセサリーカテゴリに対する推奨される WrapLayer.AutoSkin パラメータの概要は、以下の表を参照してください。
| アクセサリーカテゴリ | 推奨パラメータ |
|---|---|
| ひげ | EnabledOverride |
| 眉毛 | EnabledOverride |
| まつげ | EnabledOverride |
| 髪 | Disabled |
| 帽子 | Disabled |
| 眼鏡 | Disabled |
| シャツ | EnabledOverride または EnabledPreserve |
| パンツ | EnabledOverride または EnabledPreserve |
| 靴 | EnabledOverride または EnabledPreserve |