UGC 验证系统是 Roblox 的技术机制,它在您可以将头像资产上传并发布到市场之前检查这些资产是否符合平台规范。此过程确保头像的身体、化妆品、服装和配饰在整个平台上的一致表现。
每当您:
- 试图通过 Studio 上传头像资产到市场。
- 调用 AvatarCreationService API 进行体验内的头像资产创建。
在此过程中,UGC 验证系统会检查您的资产,以查看它是否符合特定于其资产类型的验证类别中的要求。有关这些要求的完整列表,请参阅 身体规范、动态头规范、化妆品规范、刚性配饰规范 和 分层配饰规范。
当头像资产通过验证后,您可以通过支付上传费用、提交资产进行审核并在市场上出售它,或者玩家可以继续购买他们在体验中创建的头像资产。

当头像资产未通过验证时,您或玩家将收到错误消息,说明头像资产未通过验证的原因。为了帮助故障排除,UGC 验证系统提供了可视化工具,带有检查功能,为资产提供特定的可视化指南,说明如何修复或改善资产,以便它可以通过验证。

验证类别
UGC 验证系统将验证组织为几个高级类别。有关这些类别及其验证的一些方面的信息,请查看下表。
| 类别 | 验证内容 |
|---|---|
| 模式 |
|
| 网格几何 |
|
| 纹理 / 材料 |
|
| 绑定 / 裁剪 |
|
| 内部和外部笼子 |
|
| 附件 |
|
| 动态头 |
|
| 安全 / 审核 |
|
可视化检查
UGC 验证系统包含可选的可视化工具,带有检查功能,帮助您识别、理解、诊断和修复尚未准备好在市场上发布的头像资产。当处于活动状态时,可视化检查会提供关于不合规资产的验证错误信息,以及关于符合要求但可以改进的资产的质量评估。


要访问 UGC 验证系统的可视化工具,您必须首先启用该测试功能。要启用并使用可选的可视化检查:
在 Studio 中,导航到 文件 > 测试功能。
启用 可视化 UGC 验证。
重新启动 Studio,然后在中间区域点击加号图标以添加自定义标签。会显示一个新标签。

在您的自定义标签中,点击 添加工具 按钮。会弹出 添加工具 窗口。

启用 UGC 验证 将其添加到工具栏中,然后关闭窗口。
返回到您的自定义标签,选择 UGC 验证 按钮以运行插件。会显示 UGC 验证 窗口。
在 资源管理器 窗口中,选择一个角色身体、动态头、刚性配饰或分层配饰,然后返回到 UGC 验证 窗口并点击 运行验证 按钮。会出现一个弹出窗口。
在弹出窗口中:
确认您所选择的头像资产类型。例如,如果您选择了一个 Enum.AccessoryType.Pants 分层配饰,请使用下拉菜单选择 PantsAccessory。

点击 运行验证 按钮。
验证服务将在后台运行,并根据您资产的状态在 UGC 验证 窗口中报告错误和/或警告的结果。有关每个可视化验证检查的信息,请查看以下小节。
Measure_Cage_Distance_Head
Measure_Cage_Distance_Head 是一个验证检查,用于评估头像头部的外部笼子与头部网格的贴合程度,检查笼子是否距离网格浮动过远或沉入内部。
| 错误代码 | 严重程度 |
|---|---|
| 由于输入数据不正确或不完整,质量分数无法正确计算。请检查您的模型或提交错误报告。 | 阻止验证 |
| 头笼与头部网格相交。{negativeSDFPercent}% 的头笼顶点位于头部网格内部。 | 阻止验证 |
| 头笼离头部网格过远。头笼和网格之间的最大距离为 {max_sdf},超过了允许的阈值 {max_sdf_threshold} | 阻止验证 |
| 资产质量警告:头笼距离分数为 {score}。头笼与网格之间的最大距离为 {max_distance},{negative_sdf_percent}% 的头笼顶点位于头部网格内部。 | 警告 |
Measure_Cage_Mesh_Distance
Measure_Cage_Mesh_Distance 是一个验证检查,用于评估分层服装的外部笼子与渲染网格的贴合程度,标记笼子漂移过远或推入网格的情况。
| 错误代码 | 严重程度 |
|---|---|
| 由于输入数据不正确或不完整,质量分数无法正确计算。请检查您的模型或提交错误报告。 | 阻止验证 |
| 外部笼子与渲染网格相交。{negativeSDFPercent}% 的外部笼子顶点位于渲染网格内部。 | 阻止验证 |
| 外部笼子离渲染网格过远。外部笼子与网格之间的最大距离为 {max_sdf},超过了允许的阈值 {max_sdf_threshold}。 | 阻止验证 |
| 资产质量警告:笼子与网格的距离分数为 {score}。外部笼子与网格之间的最大距离为 {max_distance},{negative_sdf_percent}% 的外部笼子顶点位于渲染网格内部。 | 警告 |
Measure_Cage_Mesh_Distance_Avatar
Measure_Cage_Mesh_Distance_Avatar 是一个验证检查,用于评估全身外部笼子与身体网格的贴合程度,标记笼子浮动过远或与之相交的情况。
| 错误代码 | 严重程度 |
|---|---|
| 由于输入数据不正确或不完整,质量分数无法正确计算。请检查您的模型或提交错误报告。 | 阻止验证 |
| 身体笼与身体网格相交。{negativeSDFPercent}% 的身体笼顶点位于身体网格内部。 | 阻止验证 |
| 身体笼离身体网格过远。身体笼与网格之间的最大距离为 {max_sdf},超过了允许的阈值 {max_sdf_threshold}。 | 阻止验证 |
| 资产质量警告:身体笼距离分数为 {score}。身体笼与网格之间的最大距离为 {max_distance},{negative_sdf_percent}% 的身体笼顶点位于身体网格内部。 | 警告 |
Measure_Cage_Relevancy
Measure_Cage_Relevancy 是一个验证检查,用于评估您移动的外部笼子有多少实际覆盖了配饰,以确保笼子编辑保持在所需的地方。
| 错误代码 | 严重程度 |
|---|---|
| 由于输入数据不正确或不完整,质量分数无法正确计算。请检查您的模型或提交错误报告。 | 阻止验证 |
| {outer_cage_face_irrelevant_percent}% 的修改后的外部笼子顶点没有覆盖配饰。请确保仅在需要的地方移动外部笼子。 | 阻止验证 |
| 资产质量警告:笼子的相关性分数为 {score}。{irrelevant_percent}% 的修改后的外部笼子顶点没有覆盖配饰。 | 警告 |
Measure_Cage_UV
Measure_Cage_UV 是一个验证检查,用于检查内部和外部笼子的 UV 是否与分层服装模板匹配;不匹配的 UV 会破坏资产如何包裹在身体上。
| 错误代码 | 严重程度 |
|---|---|
| 由于输入数据不正确或不完整,质量分数无法正确计算。请检查您的模型或提交错误报告。 | 阻止验证 |
| 笼子 {cage_name} 中有 {incorrect_uv_count} 个 UV 值不正确或不属于模板。请修正笼子的 UV。 | 阻止验证 |
| 资产质量警告:笼子 UV 分数为 {score},适用于 {cage_name}。不正确的 UV 计数:{incorrect_uv_count}。 | 警告 |
Measure_Cage_UV_Avatar
Measure_Cage_UV_Avatar 是一个验证检查,用于检查每个 身体部位 是否有一个笼子,以确保其 UV 保持在标准模板上;错误的笼子 UV 会扭曲分层服装如何包裹在身体上。
| 错误代码 | 严重程度 |
|---|---|
| 由于输入数据不正确或不完整,质量分数无法正确计算。请检查您的模型或提交错误报告。 | 阻止验证 |
| 笼子 {cage_name} 中有 {incorrect_uv_count} 个 UV 值不正确或不属于模板。请修正笼子的 UV。 | 阻止验证 |
| 资产质量警告:笼子 UV 分数为 {score},适用于 {cage_name}。不正确的 UV 计数:{incorrect_uv_count}。 | 警告 |
Measure_Degen_Triangles
Measure_Degen_Triangles 是一个验证检查,用于评估每个网格部件的退化三角形(面积为零或近零的面);退化三角形不增加面积,可能会破坏渲染。
| 错误代码 | 严重程度 |
|---|---|
| 资产质量:{partName} 存在 {degenerate_triangle_percent}% 的退化三角形 (分数: {score})。 | 警告 |
| 资产质量分数因输入数据不完整或无效而无法计算。这不会阻止您的上传。 | 警告 |
Measure_Dynamic_Head
Measure_Dynamic_Head 是一个验证检查,用于验证 动态头 是否可以进行动画。可动画的动态头具有头笼、FACS 数据、对齐的地标,并且能够闭眼、张嘴和表达情感。
| 错误代码 | 严重程度 |
|---|---|
| 由于输入数据不正确或不完整,质量分数无法正确计算。请检查您的模型或提交错误报告。 | 阻止验证 |
| 市场上的动态头必须正确绑定,以使笼子上的眼睛和嘴部顶点与网格顶点对齐。请改进您的笼子及其与网格的对齐。 | 阻止验证 |
| 无法检测到动态头的微笑表情。请调整嘴部的笼子地标,使其与头部上的嘴部位置对齐,并确保能够表现微笑表情。 | 阻止验证 |
| 无法检测到动态头的左眼闭合表情。请调整左眼的笼子地标,使其与头部上左眼的位置对齐,并确保能够闭合。 | 阻止验证 |
| 市场上的动态头没有头笼。请为动态头创建一个头笼。 | 阻止验证 |
| 无法检测到动态头的嘴部张开表情。请调整嘴部的笼子地标,使其与头部上嘴部的位置对齐,并确保能够张开。 | 阻止验证 |
| 市场上的动态头必须可动画,但该动态头没有 FACS 数据。 | 阻止验证 |
| 无法检测到动态头的右眼闭合表情。请调整右眼的笼子地标,使其与头部上右眼的位置对齐,并确保能够闭合。 | 阻止验证 |
| 无法检测到动态头的皱眉表情。请调整嘴部的笼子地标,使其与头部上嘴部的位置对齐,并确保能够表现皱眉表情。 | 阻止验证 |
| 资产质量警告:动态头表情分数为 {score}。 | 警告 |
Measure_Joint_Number
Measure_Joint_Number 是一个验证检查,用于评估身体绑定的 关节设置 是否符合预期配置。身体绑定的关节设置包括左右手的关节数量,对于 高保真 绑定。
| 错误代码 | 严重程度 |
|---|---|
| 资产质量:关节配置得分为 {score} (关节数: {joint_number}, 左手关节数: {left_hand_joint_number}, 右手关节数: {right_hand_joint_number})。 | 警告 |
| 资产质量分数因输入数据不完整或无效而无法计算。这不会阻止您的上传。 | 警告 |
Measure_Mesh_Manifold
Measure_Mesh_Manifold 是一个验证检查,用于评估每个网格部件的流形完整性,捕捉几何体中的孔、非流形边缘以及类似拓扑问题。
| 错误代码 | 严重程度 |
|---|---|
| 资产质量:{partName} 存在网格流形问题 (分数: {score})。 | 警告 |
| 资产质量分数因输入数据不完整或无效而无法计算。这不会阻止您的上传。 | 警告 |
Measure_Mesh_Outside_OuterCage
Measure_Mesh_Outside_OuterCage 是一个验证检查,用于评估配饰的渲染网格有多少部分保持在其笼子之间;如果网格穿出外部笼子,穿戴时会变形。
| 错误代码 | 严重程度 |
|---|---|
| 由于输入数据不正确或不完整,质量分数无法正确计算。请检查您的模型或提交错误报告。 | 阻止验证 |
| {mesh_outside_outer_cage_percent}% 的配饰网格顶点位于其外部笼子之外。请进行调整,使配饰更多地放置在笼子之间。 | 阻止验证 |
| 资产质量警告:网格包含分数为 {score}。{mesh_outside_outer_cage_percent}% 的网格顶点位于外部笼子之外。 | 警告 |
Measure_Texture_Complexity
Measure_Texture_Complexity 是一个验证检查,用于评估每个纹理的视觉复杂性,标记那些平坦或接近空的纹理,这些纹理对资产的细节贡献很少。
| 错误代码 | 严重程度 |
|---|---|
| 资产质量分数因输入数据不完整或无效而无法计算。这不会阻止您的上传。 | 警告 |
| 资产质量:纹理 {textureName} 复杂度低 (分数: {score})。 | 警告 |
Measure_Texture_Resolution
Measure_Texture_Resolution 是一个验证检查,用于根据每个纹理的像素尺寸进行评分,奖励分辨率足够高以保持资产在身体上的清晰度。
| 错误代码 | 严重程度 |
|---|---|
| 资产质量分数因输入数据不完整或无效而无法计算。这不会阻止您的上传。 | 警告 |
| 资产质量:纹理 {textureName} 的分辨率为 {texture_width}x{texture_height} (分数: {score})。 | 警告 |
Measure_Triangle_Intersection
Measure_Triangle_Intersection 是一个验证检查,用于评估每个网格部件中的自交三角形,其中面片相互穿过并产生杂乱、重叠的几何形状。
| 错误代码 | 严重程度 |
|---|---|
| 资产质量分数因输入数据不完整或无效而无法计算。这不会阻止您的上传。 | 警告 |
| 资产质量:{partName} 中存在 {intersecting_tri_face_percent}% 的相交三角面 (分数: {score})。 | 警告 |
Measure_UV_Bound
Measure_UV_Bound 是一个验证检查,用于测量网格的多少 UV 顶点位于 0-1 纹理空间之外;它报告分数但从不阻止上传。
| 错误代码 | 严重程度 |
|---|---|
| 资产质量分数因输入数据不完整或无效而无法计算。这不会阻止您的上传。 | 警告 |
| 资产质量:{partName} 有 {uv_outside_bound_vert_percent}% 的 UV 顶点超出范围 (分数: {score})。 | 警告 |
Measure_Vertex_Similarity
Measure_Vertex_Similarity 是一个验证检查,用于衡量网格中近重复顶点的比例;它报告分数但从不阻止上传。
| 错误代码 | 严重程度 |
|---|---|
| 资产质量分数因输入数据不完整或无效而无法计算。这不会阻止您的上传。 | 警告 |
| 资产质量:{partName} 存在 {similar_vertex_percent}% 的相似顶点 (分数: {score})。 | 警告 |