もしあなたのヘッドアセットがダイナミックヘッドの検証に合格しなくなった場合、マーケットプレイスにヘッドアセットを修正して再アップロードする必要があります。ヘッドが体のバンドルの一部として公開された場合、体の更新を行う必要はありません。ヘッドアセットを更新するだけで大丈夫です。
このガイドでは、次の5つの主要なステップを使用して、提供されたケージテンプレートを使用してアセットを再ケージ化する手動修正の方法について詳細な情報を提供します。
1. カタログのヘッドアセットが検証に失敗していることを確認する
Robloxは最近、ダイナミックヘッドの検証パラメータを更新し、既存のカタログヘッドが検証に合格しやすくなった一方で、カタログ内のすべてのヘッドがダイナミックであることを保証しています。残りのステップに進む前に、あなたのヘッドがまだ検証に失敗していることを再確認することが重要です。
新しいRoblox Studioを開き、ベータ機能glTFエクスポートが有効になっていることを確認します(新しい設定を反映させるためにはStudioを再起動する必要があるかもしれません)。
- ファイル > ベータ機能でベータ設定を確認します。
コマンドバーで以下のスクリプトを実行します。
- ヘッドID(アセットID)またはバンドルID(フルボディバンドルのため)を提供するオプションがあります。my_asset_idを正しいIDに置き換え、実行するために先頭の--を削除してください。
- ヘッドアセットのみを取得するにはcreateExportFromHeadAssetId(your_asset_id)のコメントを外します。
- フルボディをバンドルとして取得するにはcreateExportFromBodyBundleId(your_bundle_id)のコメントを外します(ヘッドを含む)。
local AssetService = game:GetService("AssetService")local Players = game:GetService("Players")local function createExportFromHeadAssetId(assetId: number)local hd = Instance.new("HumanoidDescription")hd.Head = assetIdlocal char = Players:CreateHumanoidModelFromDescriptionAsync(hd, Enum.HumanoidRigType.R15)local headMesh = char.Head :: MeshPartheadMesh.Size = headMesh.MeshSizeheadMesh.CFrame = CFrame.identityheadMesh.Locked = falselocal exportModel = Instance.new("Model", workspace)exportModel.Name = "ExportThisAsGLTF"headMesh.Parent = exportModelendlocal function getOutfitId(bundleInfo)for _, item in pairs(bundleInfo.Items) doif item.Type == "UserOutfit" thenreturn item.Idendenderror("Outfit IDが見つかりません")endlocal function createExportFromBodyBundleId(bundleId: number)local bundleInfo = AssetService:GetBundleDetailsAsync(bundleId)local outfitId = getOutfitId(bundleInfo)local hd = Players:GetHumanoidDescriptionFromOutfitIdAsync(outfitId)local char = Players:CreateHumanoidModelFromDescriptionAsync(hd, Enum.HumanoidRigType.R15)char:PivotTo(CFrame.identity)char.Name = "ExportThisAsGLTF"char.Parent = workspaceend-- createExportFromHeadAssetId(your_asset_id)-- createExportFromBodyBundleId(your_bundle_id)スクリプトが実行された後、ワークスペースに「ExportThisAsGLTF」というモデルが表示されます。右クリックしてRobloxに保存を選択します。これにより公開ウィンドウがポップアップします:
- コンテンツタイプでアバターアイテムを選択します。
- アセットカテゴリでヘッドまたはボディを選択します(ボディバンドルを使用した場合)。
- 検証結果を待ちます。
- ダイナミックヘッドの検証に合格した場合、このアセットを更新する必要はありません。
- 公開操作をキャンセルします(手数料がかからないように)。
もしアセットがダイナミックヘッドの検証に失敗した場合は、次のステップに進む必要があります。
2. Robloxからヘッドをエクスポートする
Blenderから自分のヘッドまたは全体のボディをglTFファイルとしてエクスポートします:
- エクスプローラーで「ExportThisAsGLTF」モデルを右クリックし、保存/エクスポート > glTFとして保存を選択します。
3. Blenderでヘッドアセットを修正する
Blenderまたはお気に入りの3Dモデリングソフトウェアでアセットを修正します。多くの場合、新しいヘッドケージを使用してそれをキャラクターの頭の上にフィットさせることで時間を節約できます。また、最初のステップから修正する必要がある他の検証問題もあります。
Blenderで新しい空のシーンを開き、glTFファイルをインポートします。
- glTFインポート設定で元のバインドポーズの推測を無効にします。

ケージ、取り付けポイント、顔の関節、顔のアニメーションなど、ヘッドに必要なすべてが存在していることを確認します。
Roblox Studioはインポート時にアバターを180度反転させるため、Blenderでアセットを180度回転させる必要があります(ホットキー: R+Z その後180と入力)。
最も一般的に、ヘッドはケージの問題で検証に失敗します。たとえば、ケージがヘッドの内部に完全に埋まっている、UVが不正確である、またはモデル内で完全に場所が間違っている可能性があります。ほとんどの場合、元のケージを編集するのではなく、代わりに:
- アセットから削除します。
- このフォルダー内のヘッドテンプレートから、あなたのヘッドアセットの形に最も合うケージを選択します。これらは、正しいUV設定のために提供されたRobloxのケージテンプレートです。

Blenderのアニメーション開始値が0に設定されていることを確認します。
頂点カラーを削除します。Blenderでは、メッシュをクリックし、データタブの色属性を選択して存在するものを削除することでこれを行うことができます。

必要なら、fbxエクスポート用の頂点カラーシェーディングノードを削除します。BlenderのfbxエクスポータはglTFよりも厳しいので、テクスチャ入力とシェーダーの間にノードを置くことはできません。


あなたのヘッドアセットを検証に合格するように修正します:
- ケージの目と口の領域をヘッドに合わせます。
- ヘッドにリグが含まれていることを確認し、ポーズがキー化され、FACs標準にマッピングされている必要があります。
- 目は瞬きしなければなりません。
- 口は開閉しなければなりません。
- 顔は幸せと悲しみを表現しなければなりません。
更新されたヘッドアセットをFBXファイル形式でエクスポートします(説明にある正しい設定を使用します:PBRがある場合、glTFを使用することをお勧めします)。
- FBXエクスポート用にテクスチャを設定します(必要に応じて)。BlenderはglTFテクスチャをインポートするため、デフォルトではFBXファイルにエクスポートできません。これを修正するには、各画像をローカルディスクに保存します。

4. 修正したヘッドをスタジオにインポートする
修正したヘッドをスタジオにインポートし、検証に合格することを確認します。検証に失敗した場合は、エラーメッセージを確認し、3Dモデリングソフトウェアで再度問題に対処します。検証に合格した場合は、以下の手順を使用して開発アイテム(アバターアイテムではない)としてアップロードします。
修正したヘッドアセットをFBX/glTFファイルとしてスタジオに再インポートします。
- 修正したヘッドには:ヘッドメッシュ、ケージメッシュ、フェイスリグ、更新されたテクスチャ(変更した場合)が含まれている必要があります。
- 後で、これらのアセットをスタジオでModelとして保存します(ヘッドメッシュなどの個々のアセットとしてではなく)。
あなたのヘッドアセットが検証に合格することを確認します。
- これを達成する最も簡単な方法は:
- アセットでRobloxに保存を選択します。
- アバターアイテムを選択します。
- アセットカテゴリをヘッドに設定します。
- ダイナミックヘッドの検証結果を待ちます(合格または不合格)。
- この時点で公開手数料がかからないように保存操作をキャンセルします。
- あなたのヘッドが検証に合格しない場合は、BlenderまたはMayaに戻り、検証に合格するための適切な修正を行う必要があります。
あなたのヘッドが検証に合格したら、アセットを開発アイテムとして公開します。
エクスプローラーでアバターのModelを選択し、それがヘッドメッシュ、フェイスリグ、ケージデータを含んでいることを確認します。
- キャラクター全体のボディのモデルを保存した場合、アップロードプロセスは自動的にヘッドデータを抽出します。
アセットでRobloxに保存を選択します。

開発アイテムを選択します。
アセットカテゴリをモデルに設定します。
アセットのプライバシーを公開に設定します。
- アセットプライバシーベータに登録されている場合、修正されたアセットをアップロードする前にベータを無効にします。
モデルをRobloxに保存します(公開手数料はかからない)。
Robloxに保存した後、提供されたアセットIDを保存します。
- ヘッドまたはボディのアセットのいずれかを提出できますが、開発アイテムとして保存する際にはヘッドとボディのアセットの間には区別がありません。
- Webフォームへの提出のためには、ヘッドのアセットIDを取得することをお勧めしますが、ヘッドまたはボディのアセットIDを使用し、Robloxがヘッドを適宜置き換えます。
5. 更新されたヘッドのassetIDを提供する
更新されたアセットIDをRobloxに提供してヘッドを置き換える手順は次のとおりです:
- アセットに関連するメール通知内のウェブフォームへのリンクを使用して、更新されたヘッドのアセットIDを送信します。
- 各更新のために生年月日を入力するよう求められます。これは法的要件として回避できません。
- 複数回の提出が可能です。最後の提出を更新の「最終」バージョンとして使用します。
- Robloxは、あなたが提供した修正を反映させてカタログアセットの更新を完了します。
追加リソース
Robloxは、ダイナミックヘッドアセットの作成に関するベストプラクティスについて一連の文書とビデオチュートリアルを公開しています。