如果您的头部资产不再通过动态头部验证,您需要修复并重新上传您的头部资产到市场。当头部作为身体捆绑的一部分发布时,您无需更新身体。您只需更新头部资产。
本指南提供了有关如何通过使用提供的笼子模板重新笼养资产手动修复的详细信息,包括以下五个主要步骤:
- 重新验证您的目录头部资产以确认问题。
- 从Roblox导出您的头部(或身体捆绑)。
- 将修复后的头部重新导入到Studio中。
- 提供资产ID以更新您的头部给Roblox。
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("找不到服装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错误或在模型中看起来完全错误。在大多数情况下,我们建议您不要花时间编辑原始笼子,而是:
- 将其从资产中删除。
- 从该文件夹中的头部模板中选择与您的头部资产形状最匹配的笼子。这些是Roblox提供的具有正确UV设置的笼子模板。

确保Blender的动画起始值设置为0。
删除顶点颜色。在Blender中,您可以通过单击网格,然后在数据选项卡下选择颜色属性并删除现有的任何属性来完成。

如果需要,为fbx导出删除顶点颜色着色节点。Blender的fbx导出器比glTF更挑剔,不接受纹理输入和着色器之间的节点。


修改您的头部资产以通过验证:
- 将笼子的眼睛和嘴巴区域对齐到头部。
- 确保您的头部包括一个骨架,姿势已用关键帧标记并映射到FACs标准,以便:
- 眼睛必须眨眼。
- 嘴巴必须张合。
- 面部必须表现出快乐和悲伤。
使用此处解释的正确设置将您的更新头部资产导出为FBX文件格式(如果您有PBR,您可能想使用glTF)。
- 设置FBX导出的纹理(如果需要)。Blender将glTF纹理导入时,默认情况下不能导出为FBX文件。1. 为了解决此问题,逐个图像并将其保存到本地磁盘。

4. 将修复后的头部重新导入到Studio中
将您的头部导入回Studio并验证它是否通过验证。如果验证失败,请检查错误消息并在您的3D建模软件中解决问题。如果验证通过,请使用以下步骤将其上传为开发项目(而不是头像项目)。
将FBX/glTF文件与您的(修复的)头部资产一起导入回Studio中。
- 您的修复头部必须包含:头部网格、笼子网格、面部骨架和更新的纹理(如果您修改了它们)。
- 稍后,您将在Studio中将这些资产保存为Model(而不是个别资产,如头部网格)。
确保您的头部资产通过验证。
- 完成此操作最简单的方法是:
- 在资产上选择保存到Roblox。
- 选择头像物品。
- 将其资产类别设置为头部。
- 等待动态头部验证结果(通过或失败)。
- 取消保存操作,以免现在产生发布费用。
- 如果您的头部未通过验证,则需要返回到Blender或Maya并进行适当的修复以通过验证。
如果您的头部通过验证,请将您的资产发布为开发项目。
在资源管理器中,选择您的头像的Model,确保它包含头部网格、面部骨架和笼子数据。
- 如果您保存整个角色身体的模型,上传过程会自动提取头部数据。
在资产上选择保存到Roblox。

选择开发项目。
将其资产类别设置为模型。
将资产隐私设置为公开。
- 如果您参加了资产隐私测试版,在上传修复的资产之前,请先禁用测试版。
将模型保存到Roblox(不会产生发布费用)。
保存到Roblox后,记录提供的资产ID。
- 虽然您可以提交头部或身体资产,但在保存为开发项目时头部和身体资产没有区别。
- 为了提交到网络表单,我们更希望您获取头部的资产ID,但您可以使用头部或身体资产ID,Roblox会相应地替换头部。
5. 提供您的更新头部的资产ID
使用以下步骤向Roblox提供更新的资产ID以替换您的头部:
- 使用与您资产对应的电子邮件通知中的网络表单链接,向Roblox反馈您更新头部的资产ID。
- 针对每次更新,您将被要求输入您的出生日期。这是法律要求,无法绕过。
- 您可以多次提交。我们将使用您的最后一次提交作为“最终”版本更新。
- Roblox将根据您提供的修改完成对您目录资产的更新。
其他资源
Roblox发布了一系列文档和视频教程,介绍创建动态头部资产的最佳实践。