R6からR15へのアダプターは、R15アバターがあなたのR6ゲームに参加できるようにします。ゲーム内のすべてのアバターは、引き続きR6のようなスケールと動きのシステムを使用します。このアダプターを使用することで、レイヤー付きアクセサリーやダイナミックヘッドなどの最新のR15コンポーネントを活用でき、ゲームのパフォーマンスやプレイに与える影響は最小限に抑えられます。
アダプターがどのようにアダプターパーツを使用するかを理解し、機能の既知の制限を確認してから、有効化してゲームでアダプターをテストすることが重要です。
アダプターパーツ
R6からR15へのアダプターは、アバターがスポーンする際にアダプターパーツを作成するLuauスクリプトのインジェクションを実装します。
これらは、R6のボディパーツと同じ名前を持ち、対応するR15のボディパーツに溶接された見えないMeshPartsです。スクリプトは、アダプターパーツがR6ベースのスクリプトインタラクションを受け入れ、それを適切なR15パーツに転送できるようにします。
アダプターパーツは以下の機能を果たします:
- R6のヒットボックスの位置と寸法を持つ追加の見えない衝突可能なパーツを使用してR6の物理をエミュレートします。
- 見えるR15のボディパーツを非衝突可能として設定します。
- 見えるR15のパーツをR6のサイズとジョイント位置に合わせてスケーリングおよび配置します。
- R6とR15のボディパーツの間のシムとして機能します。見えないR6パーツに適用されたプロパティの変更は、対応する見えるR15パーツに渡されます。
- 例えば、R6のLeftArmの色の変更は、R15のLeftUpperArm、LeftLowerArm、およびLeftHandパーツに渡されます。
R6からR15へのアダプターを有効にする
AvatarUnificationModeプロパティをWorkspaceに設定することで、R6からR15へのアダプターを有効にできます。このプロパティには、アバタータイプがアバター設定ウィンドウでR6を含むように設定されている場合にのみアクセスできます。現時点では、Default設定は統合モードを無効にします。
R6からR15へのアダプターを有効にするには:
- Explorerウィンドウで、Workspaceに移動します。
既知の制限
ほとんどの場合、R6からR15へのアダプターはR6ゲームのシステムと即座に動作します。稀に、セキュリティやキャラクター関連の動作を処理するカスタムシステムとの競合が発生することがあります。R6からR15へのアダプターを使用する際に遭遇する可能性のある制限や競合のリストは以下の通りです。
セキュリティ
アクティブなチート検出を持つR6ゲームは、Luauスクリプトのインジェクションをセキュリティを回避しようとする試みとして解釈することがあります。
R6アバターのデフォルトの動作は、すべてのパーツがすでに配置された状態でスポーンするため、多くのゲームではボディパーツの変更を潜在的なエクスプロイトとしてフラグ付けする傾向があります。アダプターが有効なゲームでは、R15アバターはデフォルトのボディでスポーンし、その後、保存されたアバターのボディパーツやアクセサリーに基づいてボディパーツを変更します。
カスタムアバターエディター
プレイヤーがボディパーツを交換できるカスタムアバターエディターを持つゲームでは、アダプターパーツとの接続が壊れる可能性があります。
既存のR15サポート
アバターのリグタイプをチェックし、各R15およびR6ケースに特化したソリューションを含むゲームは、アダプターと正しく動作しない可能性があります。AvatarUnificationModeはR15に対応するコードパスを使用しており、ゲーム内でのテストが必要になる場合があります。
ボディパーツのリサイズ
R6ボディパーツのサイズを変更するゲームでは、プロキシR15パーツにスケール変更が伝播されません。ジョイントアタッチメントが移動された場合も同様です。
GetChildren API呼び出し
GetChildren()呼び出しは、R6プロキシパーツとそれに対応するR15パーツの両方を返します。この追加情報を考慮する必要があるかもしれません。
FindFirstChild API呼び出し
スクリプト内でキャラクターパーツを見つけるために、すぐにFindFirstChild()や「ドットインデックス」を使用しないでください。代わりに、WaitForChild()を使用してからFindFirstChild()を呼び出してください。AvatarUnificationModeの複製は異なり、まだ存在しない子を見つけられない場合があります。
これは、Robloxスクリプトにおけるベストプラクティスであり、このプラクティスに従わなくても動作する場合があるとしても、常に推奨されます。
Head.ClassName条件
AvatarUnificationModeはHeadをMeshPartに設定します。SpecialMesh.MeshIdプロパティを読み書きする呼び出しは失敗します。
Headの衝突
R15キャラクターがR6ゲームに参加する際、Headパーツとの衝突はサポートされません。ゲームがキャラクターのHeadとの衝突を検出または依存している場合は、スクリプトを更新してCollisionHeadもチェックする必要があります。