Il sistema di validazione UGC è il meccanismo tecnico di Roblox che controlla se le risorse degli avatar soddisfano le specifiche della piattaforma prima di poterle caricare e pubblicare nel Marketplace. Questo processo garantisce che i corpi, i cosmetici, i vestiti e gli accessori degli avatar si comportino in modo coerente in tutta la piattaforma.
Il sistema di validazione UGC viene eseguito ogni volta che tu:
- Cerchi di caricare una risorsa per avatar nel Marketplace tramite Studio.
- Chiami le API AvatarCreationService per la creazione di risorse per avatar all'interno di un'esperienza.
Durante questo processo, il sistema di validazione UGC esamina la tua risorsa per verificare se soddisfa i requisiti nelle categorie di validazione specifiche per il suo tipo di risorsa. Per un elenco completo di questi requisiti, consulta le specifiche del corpo, le specifiche della testa dinamica, le specifiche del trucco, le specifiche degli accessori rigidi e le specifiche degli accessori a strati.
Quando una risorsa per avatar supera la validazione, puoi procedere con il processo di caricamento su Studio pagando la tassa di caricamento, inviando la risorsa per moderazione e vendendola nel Marketplace, oppure il giocatore può procedere all'acquisto della risorsa per avatar che ha creato all'interno di un'esperienza.

Quando una risorsa per avatar non supera la validazione, tu o il giocatore ricevete messaggi di errore con informazioni sul motivo per cui la risorsa per avatar non ha superato la validazione. Per assistenza nella risoluzione dei problemi, la validazione UGC dispone di strumenti di visualizzazione con controlli che forniscono guide visive specifiche per la risorsa su come correggere o migliorare la tua risorsa affinché possa superare la validazione.

Categorie di validazione
Il sistema di validazione UGC organizza la validazione in diverse categorie di alto livello. Per informazioni su queste categorie e alcune aree che validano, consulta la seguente tabella.
| Categoria | Ciò che valida |
|---|---|
| Schema |
|
| Geometria della mesh |
|
| Texture / materiali |
|
| Rigging / skinning |
|
| Cage interni ed esterni |
|
| Attacchi |
|
| Testa dinamica |
|
| Sicurezza / moderazione |
|
Controlli di visualizzazione
Il sistema di validazione UGC include strumenti di visualizzazione opzionali con controlli per aiutarti a identificare, comprendere, diagnosticare e correggere le risorse per avatar che non sono ancora pronte per essere nel Marketplace. Quando attivi, i controlli di visualizzazione forniscono informazioni sugli errori di validazione per le risorse non conformi e valutazioni di qualità per le risorse conformi che potrebbero necessitare di miglioramenti.


Per accedere agli strumenti di visualizzazione del sistema di validazione UGC, è necessario prima abilitare la funzionalità beta. Per abilitare e utilizzare i controlli di visualizzazione opzionali:
In Studio, vai su File > Funzionalità beta.
Abilita Visualizzazione validazione UGC.
Riavvia Studio, quindi nell'area mezzanina, fai clic sull'icona "+" per aggiungere una scheda personalizzata. Verrà visualizzata una nuova scheda.

Nella tua scheda personalizzata, fai clic sul pulsante Aggiungi strumenti. Viene visualizzata la finestra pop-up Aggiungi strumenti.

Abilita Validazione UGC per aggiungerla alla barra degli strumenti, quindi chiudi la finestra.
Torna alla tua scheda personalizzata e seleziona il pulsante Validazione UGC per eseguire il plugin. Verrà visualizzata una finestra Validazione UGC.
Nella finestra Esplora, seleziona un corpo, una testa dinamica, un accessorio rigido o un accessorio a strati, quindi torna alla finestra Validazione UGC e fai clic sul pulsante Esegui validazione. Verrà visualizzata una finestra pop-up.
Nella finestra pop-up:
Conferma il tipo di risorsa dell'asset per avatar che hai selezionato. Ad esempio, se hai selezionato un accessorio a strati di tipo Enum.AccessoryType.Pants, utilizza il menu a discesa per selezionare PantsAccessory.

Fai clic sul pulsante Esegui validazione.
Il servizio di validazione verrà eseguito in background e riporterà i risultati nella finestra Validazione UGC come combinazione di errori e/o avvisi a seconda dello stato della tua risorsa. Per informazioni su ciascun controllo di validazione visiva, consulta le seguenti sottosezioni.
Measure_Cage_Distance_Head
Measure_Cage_Distance_Head è un controllo di validazione che valuta quanto da vicino il cage esterno della testa dell'avatar si adatta alla mesh della testa, controllando che il cage non fluttui troppo lontano dalla mesh né affondi in essa.
| Codice errore | Gravità |
|---|---|
| Il punteggio di qualità non può essere calcolato correttamente a causa di dati di input errati o incompleti. Controlla il tuo modello o segnala un bug. | Blocca la validazione |
| Il cage della testa interseca la mesh della testa. {negativeSDFPercent}% dei vertici del cage della testa sono all'interno della mesh della testa. | Blocca la validazione |
| Il cage della testa è troppo lontano dalla mesh della testa. Distanza massima tra il cage della testa e la mesh è {max_sdf}, che supera la soglia consentita {max_sdf_threshold}. | Blocca la validazione |
| Avviso di qualità dell'asset: il punteggio di distanza del cage della testa è {score}. Distanza massima tra il cage della testa e la mesh è {max_distance}, {negative_sdf_percent}% dei vertici del cage della testa sono all'interno della mesh della testa. | Avviso |
Measure_Cage_Mesh_Distance
Measure_Cage_Mesh_Distance è un controllo di validazione che valuta quanto da vicino il cage esterno dei vestiti a strati si adatta alla mesh renderizzata, segnalando quando un cage si allontana troppo o spinge all'interno della mesh.
| Codice errore | Gravità |
|---|---|
| Il punteggio di qualità non può essere calcolato correttamente a causa di dati di input errati o incompleti. Controlla il tuo modello o segnala un bug. | Blocca la validazione |
| Il cage esterno interseca la mesh di rendering. {negativeSDFPercent}% dei vertici del cage esterno sono all'interno della mesh di rendering. | Blocca la validazione |
| Il cage esterno è troppo lontano dalla mesh di rendering. Distanza massima tra il cage esterno e la mesh è {max_sdf}, che supera la soglia consentita {max_sdf_threshold}. | Blocca la validazione |
| Avviso di qualità dell'asset: il punteggio della distanza cage-mesh è {score}. Distanza massima tra il cage esterno e la mesh è {max_distance}, {negative_sdf_percent}% dei vertici del cage esterno sono all'interno della mesh di rendering. | Avviso |
Measure_Cage_Mesh_Distance_Avatar
Measure_Cage_Mesh_Distance_Avatar è un controllo di validazione che valuta quanto da vicino il cage esterno del corpo intero segue la mesh del corpo, segnalando quando un cage fluttua troppo lontano dalla superficie o la interseca.
| Codice errore | Gravità |
|---|---|
| Il punteggio di qualità non può essere calcolato correttamente a causa di dati di input errati o incompleti. Controlla il tuo modello o segnala un bug. | Blocca la validazione |
| Il cage del corpo interseca la mesh del corpo. {negativeSDFPercent}% dei vertici del cage del corpo sono all'interno della mesh del corpo. | Blocca la validazione |
| Il cage del corpo è troppo lontano dalla mesh del corpo. Distanza massima tra il cage del corpo e la mesh è {max_sdf}, che supera la soglia consentita {max_sdf_threshold}. | Blocca la validazione |
| Avviso di qualità dell'asset: il punteggio di distanza del cage del corpo è {score}. Distanza massima tra il cage del corpo e la mesh è {max_distance}, {negative_sdf_percent}% dei vertici del cage del corpo sono all'interno della mesh del corpo. | Avviso |
Measure_Cage_Relevancy
Measure_Cage_Relevancy è un controllo di validazione che valuta quanto della parte esterna del cage che hai spostato si trova effettivamente sopra l'accessorio, in modo che le modifiche al cage rimangano dove ne ha bisogno il capo.
| Codice errore | Gravità |
|---|---|
| Il punteggio di qualità non può essere calcolato correttamente a causa di dati di input errati o incompleti. Controlla il tuo modello o segnala un bug. | Blocca la validazione |
| {outer_cage_face_irrelevant_percent}% dei vertici del cage esterno modificato non coprono l'accessorio. Assicurati di spostare il cage esterno solo dove necessario. | Blocca la validazione |
| Avviso di qualità dell'asset: il punteggio di rilevanza del cage è {score}. {irrelevant_percent}% dei vertici del cage esterno modificato non coprono l'accessorio. | Avviso |
Measure_Cage_UV
Measure_Cage_UV è un controllo di validazione che verifica se le UV interne ed esterne del cage corrispondono al modello di abbigliamento a strati; UV che non corrispondono al modello di abbigliamento a strati compromettono il modo in cui la risorsa si adatta al corpo.
| Codice errore | Gravità |
|---|---|
| Il punteggio di qualità non può essere calcolato correttamente a causa di dati di input errati o incompleti. Controlla il tuo modello o segnala un bug. | Blocca la validazione |
| Ci sono {incorrect_uv_count} valori UV nel cage {cage_name} che sono errati o non appartengono al modello. Correggi le UV del cage. | Blocca la validazione |
| Avviso di qualità dell'asset: il punteggio delle UV del cage è {score} per {cage_name}. Conteggio UV errati: {incorrect_uv_count}. | Avviso |
Measure_Cage_UV_Avatar
Measure_Cage_UV_Avatar è un controllo di validazione che verifica che ogni parte del corpo abbia un cage che mantiene le sue UV sul modello standard; UV errate del cage distorcono il modo in cui i vestiti a strati si adattano al corpo.
| Codice errore | Gravità |
|---|---|
| Il punteggio di qualità non può essere calcolato correttamente a causa di dati di input errati o incompleti. Controlla il tuo modello o segnala un bug. | Blocca la validazione |
| Ci sono {incorrect_uv_count} valori UV nel cage {cage_name} che sono errati o non appartengono al modello. Correggi le UV del cage. | Blocca la validazione |
| Avviso di qualità dell'asset: il punteggio delle UV del cage è {score} per {cage_name}. Conteggio UV errati: {incorrect_uv_count}. | Avviso |
Measure_Degen_Triangles
Measure_Degen_Triangles è un controllo di validazione che valuta ciascuna parte della mesh per triangoli degenerati (facce con area zero o quasi zero); triangoli degenerati non aggiungono superficie e possono interrompere il rendering.
| Codice errore | Gravità |
|---|---|
| Qualità dell'asset: {partName} ha {degenerate_triangle_percent}% triangoli degenerati (score: {score}). | Avviso |
| Il punteggio di qualità per {measureName} non è stato calcolato perché i dati di input erano incompleti o non validi. Questo non blocca il caricamento. | Avviso |
Measure_Dynamic_Head
Measure_Dynamic_Head è un controllo di validazione che verifica se una testa dinamica è animabile. Le teste dinamiche che sono animabili hanno un cage per la testa, dati FACS, punti di riferimento allineati e possono chiudere gli occhi, aprire la bocca e esprimere emozioni.
| Codice errore | Gravità |
|---|---|
| Il punteggio di qualità non può essere calcolato correttamente a causa di dati di input errati o incompleti. Controlla il tuo modello o segnala un bug. | Blocca la validazione |
| Le teste dinamiche nel Marketplace devono essere correttamente caged in modo che i vertici degli occhi e della bocca sul cage si allineino con i vertici della mesh. Migliora il tuo cage e il suo allineamento con la mesh. | Blocca la validazione |
| Impossibile rilevare l'espressione sorridente per la testa dinamica. Regola i punti di riferimento del cage per la bocca in modo che corrispondano alla posizione della bocca sulla testa e assicurati che possa mostrare un'espressione sorridente. | Blocca la validazione |
| Impossibile rilevare l'espressione di chiusura dell'occhio sinistro per la testa dinamica. Regola i punti di riferimento del cage per l'occhio sinistro in modo che corrispondano alla posizione dell'occhio sinistro sulla testa e assicurati che possa essere chiuso. | Blocca la validazione |
| Le teste dinamiche nel Marketplace non hanno cage per la testa. Crea un cage per la testa per la testa dinamica. | Blocca la validazione |
| Impossibile rilevare l'espressione di apertura della bocca per la testa dinamica. Regola i punti di riferimento del cage per la bocca in modo che corrispondano alla posizione della bocca sulla testa e assicurati che possa aprirsi. | Blocca la validazione |
| Le teste dinamiche nel Marketplace devono essere animate, ma questa testa non ha dati FACS. | Blocca la validazione |
| Impossibile rilevare l'espressione di chiusura dell'occhio destro per la testa dinamica. Regola i punti di riferimento del cage per l'occhio destro in modo che corrispondano alla posizione dell'occhio destro sulla testa e assicurati che possa essere chiuso. | Blocca la validazione |
| Impossibile rilevare l'espressione di tristezza per la testa dinamica. Regola i punti di riferimento del cage per la bocca in modo che corrispondano alla posizione della bocca sulla testa e assicurati che possa mostrare un'espressione di tristezza. | Blocca la validazione |
| Avviso di qualità dell'asset: il punteggio dell'espressione della testa dinamica è {score}. | Avviso |
Measure_Joint_Number
Measure_Joint_Number è un controllo di validazione che valuta la configurazione delle articolazioni del corpo rispetto alla configurazione prevista. La configurazione delle articolazioni del corpo include i conteggi delle articolazioni nelle mani sinistra e destra per i rig di alta fedeltà.
| Codice errore | Gravità |
|---|---|
| Qualità dell'asset: configurazione delle articolazioni valutata {score} (articolazioni: {joint_number}, mano sinistra: {left_hand_joint_number}, mano destra: {right_hand_joint_number}). | Avviso |
| Il punteggio di qualità per {measureName} non è stato calcolato perché i dati di input erano incompleti o non validi. Questo non blocca il caricamento. | Avviso |
Measure_Mesh_Manifold
Measure_Mesh_Manifold è un controllo di validazione che valuta ciascuna parte della mesh per l'integrità del manifold, rilevando buchi, bordi non manifold e problemi di topologia simili nella geometria.
| Codice errore | Gravità |
|---|---|
| Qualità dell'asset: {partName} ha problemi di manifold della mesh (score: {score}). | Avviso |
| Il punteggio di qualità per {measureName} non è stato calcolato perché i dati di input erano incompleti o non validi. Questo non blocca il caricamento. | Avviso |
Measure_Mesh_Outside_OuterCage
Measure_Mesh_Outside_OuterCage è un controllo di validazione che valuta quanto della mesh di rendering di un accessorio rimane tra i suoi cage; una mesh che sporge oltre il cage esterno si deforma male quando indossata.
| Codice errore | Gravità |
|---|---|
| Il punteggio di qualità non può essere calcolato correttamente a causa di dati di input errati o incompleti. Controlla il tuo modello o segnala un bug. | Blocca la validazione |
| {mesh_outside_outer_cage_percent}% dei vertici della mesh per l'accessorio sono al di fuori del suo cage esterno. Fai aggiustamenti per avere più dell'accessorio posizionato tra i cage. | Blocca la validazione |
| Avviso di qualità dell'asset: il punteggio di contenimento della mesh è {score}. {mesh_outside_outer_cage_percent}% dei vertici della mesh sono al di fuori del cage esterno. | Avviso |
Measure_Texture_Complexity
Measure_Texture_Complexity è un controllo di validazione che valuta ciascuna texture per la complessità visiva, segnalando textures piatte o quasi vuote che aggiungono poco dettaglio all'asset.
| Codice errore | Gravità |
|---|---|
| Il punteggio di qualità per {measureName} non è stato calcolato perché i dati di input erano incompleti o non validi. Questo non blocca il caricamento. | Avviso |
| Qualità dell'asset: texture {textureName} ha bassa complessità (score: {score}). | Avviso |
Measure_Texture_Resolution
Measure_Texture_Resolution è un controllo di validazione che valuta ciascuna texture in base alle sue dimensioni in pixel, premiando risoluzioni abbastanza elevate da mantenere l'asset nitido sul corpo.
| Codice errore | Gravità |
|---|---|
| Il punteggio di qualità per {measureName} non è stato calcolato perché i dati di input erano incompleti o non validi. Questo non blocca il caricamento. | Avviso |
| Qualità dell'asset: texture {textureName} ha risoluzione {texture_width}x{texture_height} (score: {score}). | Avviso |
Measure_Triangle_Intersection
Measure_Triangle_Intersection è un controllo di validazione che valuta ciascuna parte della mesh per triangoli che si intersecano, in cui le facce si attraversano e creano geometrie sovrapposte disordinate.
| Codice errore | Gravità |
|---|---|
| Il punteggio di qualità per {measureName} non è stato calcolato perché i dati di input erano incompleti o non validi. Questo non blocca il caricamento. | Avviso |
| Qualità dell'asset: {partName} ha {intersecting_tri_face_percent}% facce triangolari che si intersecano (score: {score}). | Avviso |
Measure_UV_Bound
Measure_UV_Bound è un controllo di validazione che misura quanti dei vertici UV di una mesh cadono al di fuori dello spazio texture 0-1; riporta un punteggio ma non blocca mai il caricamento.
| Codice errore | Gravità |
|---|---|
| Il punteggio di qualità per {measureName} non è stato calcolato perché i dati di input erano incompleti o non validi. Questo non blocca il caricamento. | Avviso |
| Qualità dell'asset: {partName} ha {uv_outside_bound_vert_percent}% vertici UV al di fuori dei limiti (score: {score}). | Avviso |
Measure_Vertex_Similarity
Measure_Vertex_Similarity è un controllo di validazione che misura la percentuale di vertici quasi duplicati in una mesh; riporta un punteggio ma non blocca mai il caricamento.
| Codice errore | Gravità |
|---|---|
| Il punteggio di qualità per {measureName} non è stato calcolato perché i dati di input erano incompleti o non validi. Questo non blocca il caricamento. | Avviso |
| Qualità dell'asset: {partName} ha {similar_vertex_percent}% vertici simili (score: {score}). | Avviso |