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})。 | 警告 |
| 資產質量得分對於 {measureName} 無法計算,因為輸入數據不完整或無效。這不會阻止您的上傳。 | 警告 |
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})。 | 警告 |
| 資產質量得分對於 {measureName} 無法計算,因為輸入數據不完整或無效。這不會阻止您的上傳。 | 警告 |
Measure_Mesh_Manifold
Measure_Mesh_Manifold 是一個驗證檢查,用於對每個網格部件進行評分,以檢查其多面體完整性,捕捉幾何形狀中的孔洞、非多面邊緣和類似的拓撲問題。
| 錯誤代碼 | 嚴重性 |
|---|---|
| 資產質量:{partName} 存在網格多面體問題 (得分: {score})。 | 警告 |
| 資產質量得分對於 {measureName} 無法計算,因為輸入數據不完整或無效。這不會阻止您的上傳。 | 警告 |
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 是一個驗證檢查,用於評分每個紋理的視覺複雜性,標記平坦或幾乎空的紋理,這些紋理對資產增加的細節有限。
| 錯誤代碼 | 嚴重性 |
|---|---|
| 資產質量得分對於 {measureName} 無法計算,因為輸入數據不完整或無效。這不會阻止您的上傳。 | 警告 |
| 資產質量:紋理 {textureName} 的複雜度低 (得分: {score})。 | 警告 |
Measure_Texture_Resolution
Measure_Texture_Resolution 是一個驗證檢查,根據每個紋理的像素尺寸進行評分,對解析度足夠高以保持資產在身體上清晰的資產給予獎勵。
| 錯誤代碼 | 嚴重性 |
|---|---|
| 資產質量得分對於 {measureName} 無法計算,因為輸入數據不完整或無效。這不會阻止您的上傳。 | 警告 |
| 資產質量:紋理 {textureName} 的解析度為 {texture_width}x{texture_height} (得分: {score})。 | 警告 |
Measure_Triangle_Intersection
Measure_Triangle_Intersection 是一個驗證檢查,用於對每個網格部件進行評分,以檢查自相交的三角形,這些三角形的面彼此穿過,並創造凌亂、重疊的幾何形狀。
| 錯誤代碼 | 嚴重性 |
|---|---|
| 資產質量得分對於 {measureName} 無法計算,因為輸入數據不完整或無效。這不會阻止您的上傳。 | 警告 |
| 資產質量:{partName} 有 {intersecting_tri_face_percent}% 的自相交三角面 (得分: {score})。 | 警告 |
Measure_UV_Bound
Measure_UV_Bound 是一個驗證檢查,用於測量網格的 UV 頂點有多少超出 0-1 紋理空間;它報告得分,但永遠不會阻止上傳。
| 錯誤代碼 | 嚴重性 |
|---|---|
| 資產質量得分對於 {measureName} 無法計算,因為輸入數據不完整或無效。這不會阻止您的上傳。 | 警告 |
| 資產質量:{partName} 有 {uv_outside_bound_vert_percent}% 的 UV 頂點超出範圍 (得分: {score})。 | 警告 |
Measure_Vertex_Similarity
Measure_Vertex_Similarity 是一個驗證檢查,用於測量網格中近重複頂點的比例;它報告得分但永遠不會阻止上傳。
| 錯誤代碼 | 嚴重性 |
|---|---|
| 資產質量得分對於 {measureName} 無法計算,因為輸入數據不完整或無效。這不會阻止您的上傳。 | 警告 |
| 資產質量:{partName} 有 {similar_vertex_percent}% 的相似頂點 (得分: {score})。 | 警告 |