System walidacji UGC jest technicznym mechanizmem Robloxa, który sprawdza, czy zasoby awatarów spełniają specyfikacje platformy przed tym, jak będziesz mógł je przesłać i opublikować w Marketplace. Proces ten zapewnia, że ciała awatarów, kosmetyki, odzież i akcesoria działają spójnie w całej platformie.
System walidacji UGC działa za każdym razem, gdy:
- Próbujesz przesłać zasób awatara do Marketplace przez Studio.
- Wywołujesz API AvatarCreationService do tworzenia zasobów awatarów w ramach doświadczenia.
Podczas tego procesu system walidacji UGC ocenia Twój zasób, aby sprawdzić, czy spełnia wymagania w kategoriach walidacji, które są specyficzne dla jego typu zasobu. Aby uzyskać pełną listę tych wymagań, zobacz Specyfikacje ciała, Specyfikacje dynamicznych głów, Specyfikacje makijażu, Specyfikacje sztywnych akcesoriów oraz Specyfikacje warstwowych akcesoriów.
Gdy zasób awatara przejdzie walidację, możesz kontynuować proces przesyłania w Studio, płacąc opłatę za przesyłanie, przesyłając zasób do moderacji i sprzedając go w Marketplace, lub gracz może przystąpić do zakupu zasobu awatara, który stworzył w ramach doświadczenia.

Gdy zasób awatara nie przejdzie walidacji, Ty lub gracz otrzymacie komunikaty o błędach z informacjami, dlaczego zasób awatara nie przeszedł walidacji. Aby uzyskać pomoc w rozwiązywaniu problemów, system walidacji UGC ma narzędzia wizualizacyjne z kontrolkami, które dostarczają wizualnych wskazówek specyficznych dla zasobów, jak naprawić lub poprawić Twój zasób, aby mógł przejść walidację.

Kategorie walidacji
System walidacji UGC organizuje walidację w kilka kategorii na wysokim poziomie. Aby uzyskać informacje na temat tych kategorii i niektórych obszarów, które weryfikują, zapoznaj się z poniższą tabelą.
| Kategoria | Co waliduje |
|---|---|
| Schema |
|
| Geometria siatki |
|
| Tekstury / materiały |
|
| Rigging / skinning |
|
| Cages wewnętrzne i zewnętrzne |
|
| Załączniki |
|
| Dynamiczna głowa |
|
| Bezpieczeństwo / moderacja |
|
Kontrole wizualizacji
System walidacji UGC zawiera opcjonalne narzędzia wizualizacji z kontrolkami, które pomagają zidentyfikować, zrozumieć, zdiagnozować i naprawić zasoby awatarów, które jeszcze nie są gotowe do umieszczenia w Marketplace. Gdy są aktywne, kontrole wizualizacji dostarczają informacji o błędach walidacji dla zasobów, które nie spełniają wymagań, oraz oceny jakości dla zasobów spełniających wymagania, które mogą wymagać poprawy.


Aby uzyskać dostęp do narzędzi wizualizacji systemu walidacji UGC, musisz najpierw włączyć funkcję beta. Aby włączyć i korzystać z opcjonalnych kontrolek wizualizacji:
W Studio przejdź do Plik > Funkcje beta.
Włącz Wizualizacja walidacji UGC.
Uruchom ponownie Studio, a następnie w mezzaninie kliknij ikonę plusa, aby dodać niestandardową kartę. Pojawi się nowa karta.

W swojej niestandardowej karcie kliknij przycisk Dodaj narzędzia. Pojawi się okno pop-up Dodaj narzędzia.

Włącz Walidacja UGC, aby dodać ją do swojego paska narzędzi, a następnie zamknij okno.
Wróć do swojej niestandardowej karty i wybierz przycisk Walidacja UGC, aby uruchomić wtyczkę. Pojawi się okno Walidacji UGC.
W oknie Eksplorator wybierz ciało postaci, dynamiczną głowę, sztywne akcesorium lub warstwowe akcesorium, następnie wróć do okna Walidacja UGC i kliknij przycisk Uruchom walidację. Pojawi się okno pop-up.
W oknie pop-up:
Potwierdź typ zasobu zasobu awatara, który wybrałeś. Na przykład, jeśli wybrałeś akcesorium warstwowe Enum.AccessoryType.Pants, użyj menu rozwijanego, aby wybrać PantsAccessory.

Kliknij przycisk Uruchom walidację.
Serwis walidacji będzie działał w tle i zgłosi wyniki w oknie Walidacja UGC w postaci błędów i/lub ostrzeżeń w zależności od stanu zasobu. Aby uzyskać informacje na temat każdej wizualnej kontroli walidacji, zapoznaj się z poniższymi podsekcjami.
Measure_Cage_Distance_Head
Measure_Cage_Distance_Head to kontrola walidacyjna, która ocenia, jak blisko zewnętrzna klatka głowy awatara przylega do siatki głowy, sprawdzając, że klatka nie unosi się za daleko od siatki ani nie zapada się w nią.
| Kod błędu | Seberność |
|---|---|
| Wynik jakości nie może być poprawnie obliczony z powodu niepoprawnych lub niepełnych danych wejściowych. Proszę sprawdzić swój model lub zgłosić błąd. | Blokuje walidację |
| Klatka głowy przecina się z siatką głowy. {negativeSDFPercent}% wierzchołków klatki głowy znajduje się wewnątrz siatki głowy. | Blokuje walidację |
| Klatka głowy jest za daleko od siatki głowy. Maksymalna odległość między klatką głowy a siatką wynosi {max_sdf}, co jest powyżej dozwolonego progu {max_sdf_threshold} | Blokuje walidację |
| Ostrzeżenie o jakości zasobu: Wynik odległości klatki głowy wynosi {score}. Maksymalna odległość między klatką głowy a siatką wynosi {max_distance}, {negative_sdf_percent}% wierzchołków klatki głowy znajduje się wewnątrz siatki głowy. | Ostrzeżenie |
Measure_Cage_Mesh_Distance
Measure_Cage_Mesh_Distance to kontrola walidacyjna, która ocenia, jak blisko zewnętrzna klatka odzieży warstwowej śledzi renderowaną siatkę, wskazując, gdy klatka oddala się za daleko lub wnika w siatkę.
| Kod błędu | Seberność |
|---|---|
| Wynik jakości nie może być poprawnie obliczony z powodu niepoprawnych lub niepełnych danych wejściowych. Proszę sprawdzić swój model lub zgłosić błąd. | Blokuje walidację |
| Zewnętrzna klatka przecina się z siatką renderowaną. {negativeSDFPercent}% wierzchołków zewnętrznej klatki znajduje się wewnątrz siatki renderowanej. | Blokuje walidację |
| Zewnętrzna klatka jest za daleko od siatki renderowanej. Maksymalna odległość między zewnętrzną klatką a siatką wynosi {max_sdf}, co jest powyżej dozwolonego progu {max_sdf_threshold}. | Blokuje walidację |
| Ostrzeżenie o jakości zasobu: Wynik odległości klatki do siatki wynosi {score}. Maksymalna odległość między zewnętrzną klatką a siatką wynosi {max_distance}, {negative_sdf_percent}% wierzchołków zewnętrznej klatki znajduje się wewnątrz siatki renderowanej. | Ostrzeżenie |
Measure_Cage_Mesh_Distance_Avatar
Measure_Cage_Mesh_Distance_Avatar to kontrola walidacyjna, która ocenia, jak blisko zewnętrzna klatka całego ciała podąża za siatką ciała, wskazując, gdy klatka unosi się za daleko od powierzchni lub wnika w nią.
| Kod błędu | Seberność |
|---|---|
| Wynik jakości nie może być poprawnie obliczony z powodu niepoprawnych lub niepełnych danych wejściowych. Proszę sprawdzić swój model lub zgłosić błąd. | Blokuje walidację |
| Klatka ciała przecina się z siatką ciała. {negativeSDFPercent}% wierzchołków klatki ciała znajduje się wewnątrz siatki ciała. | Blokuje walidację |
| Klatka ciała jest za daleko od siatki ciała. Maksymalna odległość między klatką ciała a siatką wynosi {max_sdf}, co jest powyżej dozwolonego progu {max_sdf_threshold}. | Blokuje walidację |
| Ostrzeżenie o jakości zasobu: Wynik odległości klatki ciała wynosi {score}. Maksymalna odległość między klatką ciała a siatką wynosi {max_distance}, {negative_sdf_percent}% wierzchołków klatki ciała znajduje się wewnątrz siatki ciała. | Ostrzeżenie |
Measure_Cage_Relevancy
Measure_Cage_Relevancy to kontrola walidacyjna, która ocenia, ile zewnętrznej klatki przemieściłeś, faktycznie znajduje się nad akcesorium, aby edycje klatki pozostawały tam, gdzie są potrzebne.
| Kod błędu | Seberność |
|---|---|
| Wynik jakości nie może być poprawnie obliczony z powodu niepoprawnych lub niepełnych danych wejściowych. Proszę sprawdzić swój model lub zgłosić błąd. | Blokuje walidację |
| {outer_cage_face_irrelevant_percent}% zmodyfikowanych wierzchołków zewnętrznej klatki nie pokrywa akcesorium. Upewnij się, że przemieszasz zewnętrzną klatkę tylko tam, gdzie jest to potrzebne. | Blokuje walidację |
| Ostrzeżenie o jakości zasobu: Wynik adekwatności klatki wynosi {score}. {irrelevant_percent}% zmodyfikowanych wierzchołków zewnętrznej klatki nie pokrywa akcesorium. | Ostrzeżenie |
Measure_Cage_UV
Measure_Cage_UV to kontrola walidacyjna, która sprawdza, czy UV wewnętrznej i zewnętrznej klatki odpowiadają szablonowi odzieży warstwowej; UV, które nie odpowiadają szablonowi odzieży warstwowej, zakłócają sposób, w jaki zasób opina się na ciele.
| Kod błędu | Seberność |
|---|---|
| Wynik jakości nie może być poprawnie obliczony z powodu niepoprawnych lub niepełnych danych wejściowych. Proszę sprawdzić swój model lub zgłosić błąd. | Blokuje walidację |
| Istnieje {incorrect_uv_count} wartości UV w klatce {cage_name}, które są niepoprawne lub nie należą do szablonu. Proszę poprawić UV klatki. | Blokuje walidację |
| Ostrzeżenie o jakości zasobu: Wynik UV klatki wynosi {score} dla {cage_name}. Liczba niepoprawnych UV: {incorrect_uv_count}. | Ostrzeżenie |
Measure_Cage_UV_Avatar
Measure_Cage_UV_Avatar to kontrola walidacyjna, która sprawdza, czy każda część ciała ma klatkę, która utrzymuje swoje UV na standardowym szablonie; błędne UV klatki zakłócają sposób, w jaki odzież warstwowa opina się na ciele.
| Kod błędu | Seberność |
|---|---|
| Wynik jakości nie może być poprawnie obliczony z powodu niepoprawnych lub niepełnych danych wejściowych. Proszę sprawdzić swój model lub zgłosić błąd. | Blokuje walidację |
| Istnieje {incorrect_uv_count} wartości UV w klatce {cage_name}, które są niepoprawne lub nie należą do szablonu. Proszę poprawić UV klatki. | Blokuje walidację |
| Ostrzeżenie o jakości zasobu: Wynik UV klatki wynosi {score} dla {cage_name}. Liczba niepoprawnych UV: {incorrect_uv_count}. | Ostrzeżenie |
Measure_Degen_Triangles
Measure_Degen_Triangles to kontrola walidacyjna, która ocenia każdą część siatki pod kątem degenerowanych trójkątów (powierzchni o zerowej lub niemal zerowej powierzchni); degenerowane trójkąty nie dodają powierzchni i mogą zepsuć renderowanie.
| Kod błędu | Seberność |
|---|---|
| Jakość zasobu: {partName} ma {degenerate_triangle_percent}% degenerowanych trójkątów (wynik: {score}). | Ostrzeżenie |
| Wynik jakości zasobu dla {measureName} nie mógł być obliczony, ponieważ dane wejściowe były niekompletne lub niewłaściwe. To nie blokuje Twojego przesyłania. | Ostrzeżenie |
Measure_Dynamic_Head
Measure_Dynamic_Head to kontrola walidacyjna, która weryfikuje, czy dynamiczna głowa może być animowana. Animowane dynamiczne głowy mają klatkę głowy, dane FACS, wyrównane punkty orientacyjne i mogą zamykać oczy, otwierać usta oraz wyrażać emocje.
| Kod błędu | Seberność |
|---|---|
| Wynik jakości nie może być poprawnie obliczony z powodu niepoprawnych lub niepełnych danych wejściowych. Proszę sprawdzić swój model lub zgłosić błąd. | Blokuje walidację |
| Dynamiczne głowy w Marketplace muszą być odpowiednio klatkowane, aby wierzchołki oczu i ust na klatce były zgodne z wierzchołkami siatki. Proszę poprawić swoje klatkowanie i jego wyrównanie ze siatką. | Blokuje walidację |
| Nie można wykryć wyrażenia uśmiechu dla dynamicznej głowy. Proszę dostosować punkty orientacyjne klatki dla ust, aby odpowiadały miejscu, gdzie usta znajdują się na głowie i upewnić się, że mogą pokazać wyrażenie uśmiechu. | Blokuje walidację |
| Nie można wykryć wyrażenia zamknięcia lewego oka dla dynamicznej głowy. Proszę dostosować punkty orientacyjne klatki dla lewego oka, aby odpowiadały miejscu, gdzie lewe oko znajduje się na głowie i upewnić się, że może być zamknięte. | Blokuje walidację |
| Dynamiczne głowy w Marketplace nie mają klatek głowy. Proszę stworzyć klatkę głowy dla dynamicznej głowy. | Blokuje walidację |
| Nie można wykryć wyrażenia otwarcia ust dla dynamicznej głowy. Proszę dostosować punkty orientacyjne klatki dla ust, aby odpowiadały miejscu, gdzie usta znajdują się na głowie i upewnić się, że mogą się otworzyć. | Blokuje walidację |
| Dynamiczne głowy w Marketplace muszą być animowane, ale ta głowa nie ma danych FACS. | Blokuje walidację |
| Nie można wykryć wyrażenia zamknięcia prawego oka dla dynamicznej głowy. Proszę dostosować punkty orientacyjne klatki dla prawego oka, aby odpowiadały miejscu, gdzie prawe oko znajduje się na głowie i upewnić się, że może być zamknięte. | Blokuje walidację |
| Nie można wykryć wyrażenia marszczenia czoła dla dynamicznej głowy. Proszę dostosować punkty orientacyjne klatki dla ust, aby odpowiadały miejscu, gdzie usta znajdują się na głowie i upewnić się, że mogą pokazać wyrażenie marszczenia czoła. | Blokuje walidację |
| Ostrzeżenie o jakości zasobu: wynik wyrażenia głowy dynamicznej wynosi {score}. | Ostrzeżenie |
Measure_Joint_Number
Measure_Joint_Number to kontrola walidacyjna, która ocenia konfigurację stawów ciała w porównaniu do oczekiwanej konfiguracji. Konfiguracja stawów ciała obejmuje liczbę stawów w lewej i prawej ręce dla rigów o wyższej rozdzielczości.
| Kod błędu | Seberność |
|---|---|
| Jakość zasobu: konfiguracja stawów oceniana na {score} (stawy: {joint_number}, lewa ręka: {left_hand_joint_number}, prawa ręka: {right_hand_joint_number}). | Ostrzeżenie |
| Wynik jakości zasobu dla {measureName} nie mógł być obliczony, ponieważ dane wejściowe były niekompletne lub niewłaściwe. To nie blokuje Twojego przesyłania. | Ostrzeżenie |
Measure_Mesh_Manifold
Measure_Mesh_Manifold to kontrola walidacyjna, która ocenia każdą część siatki pod kątem integralności, wychwytując dziury, krawędzie niemanifoldowe i podobne problemy z topologią w geometrii.
| Kod błędu | Seberność |
|---|---|
| Jakość zasobu: {partName} ma problemy z manifeście (wynik: {score}). | Ostrzeżenie |
| Wynik jakości zasobu dla {measureName} nie mógł być obliczony, ponieważ dane wejściowe były niekompletne lub niewłaściwe. To nie blokuje Twojego przesyłania. | Ostrzeżenie |
Measure_Mesh_Outside_OuterCage
Measure_Mesh_Outside_OuterCage to kontrola walidacyjna, która ocenia, jak wiele renderowanej siatki akcesorium pozostaje między jego klatkami; siatka, która wystaje poza zewnętrzną klatkę, deformuje się źle, gdy jest noszona.
| Kod błędu | Seberność |
|---|---|
| Wynik jakości nie może być poprawnie obliczony z powodu niepoprawnych lub niepełnych danych wejściowych. Proszę sprawdzić swój model lub zgłosić błąd. | Blokuje walidację |
| {mesh_outside_outer_cage_percent}% wierzchołków siatki dla akcesorium znajduje się poza jego zewnętrzną klatką. Wprowadź korekty, aby umieścić więcej akcesorium między klatkami. | Blokuje walidację |
| Ostrzeżenie o jakości zasobu: Wynik zawartości siatki wynosi {score}. {mesh_outside_outer_cage_percent}% wierzchołków siatki znajduje się poza zewnętrzną klatką. | Ostrzeżenie |
Measure_Texture_Complexity
Measure_Texture_Complexity to kontrola walidacyjna, która ocenia każdą teksturę pod kątem złożoności wizualnej, wskazując na płaskie lub prawie puste tekstury, które nie dodają zbyt wiele szczegółów do zasobu.
| Kod błędu | Seberność |
|---|---|
| Wynik jakości zasobu dla {measureName} nie mógł być obliczony, ponieważ dane wejściowe były niekompletne lub niewłaściwe. To nie blokuje Twojego przesyłania. | Ostrzeżenie |
| Jakość zasobu: tekstura {textureName} ma niską złożoność (wynik: {score}). | Ostrzeżenie |
Measure_Texture_Resolution
Measure_Texture_Resolution to kontrola walidacyjna, która ocenia każdą teksturę na podstawie jej wymiarów pikselowych, nagradzając rozdzielczość wystarczającą do utrzymania ostrości zasobu na ciele.
| Kod błędu | Seberność |
|---|---|
| Wynik jakości zasobu dla {measureName} nie mógł być obliczony, ponieważ dane wejściowe były niekompletne lub niewłaściwe. To nie blokuje Twojego przesyłania. | Ostrzeżenie |
| Jakość zasobu: tekstura {textureName} ma rozdzielczość {texture_width}x{texture_height} (wynik: {score}). | Ostrzeżenie |
Measure_Triangle_Intersection
Measure_Triangle_Intersection to kontrola walidacyjna, która ocenia każdą część siatki pod kątem samo-przecinających się trójkątów, w których ściany przechodzą przez siebie i tworzą nieczytelną, nakładającą się geometrię.
| Kod błędu | Seberność |
|---|---|
| Wynik jakości zasobu dla {measureName} nie mógł być obliczony, ponieważ dane wejściowe były niekompletne lub niewłaściwe. To nie blokuje Twojego przesyłania. | Ostrzeżenie |
| Jakość zasobu: {partName} ma {intersecting_tri_face_percent}% przecinających się ścian trójkątów (wynik: {score}). | Ostrzeżenie |
Measure_UV_Bound
Measure_UV_Bound to kontrola walidacyjna, która mierzy, ile wierzchołków UV siatki wypada poza przestrzeń tekstur 0-1; zgłasza wynik, ale nigdy nie blokuje przesyłania.
| Kod błędu | Seberność |
|---|---|
| Wynik jakości zasobu dla {measureName} nie mógł być obliczony, ponieważ dane wejściowe były niekompletne lub niewłaściwe. To nie blokuje Twojego przesyłania. | Ostrzeżenie |
| Jakość zasobu: {partName} ma {uv_outside_bound_vert_percent}% wierzchołków UV poza granicami (wynik: {score}). | Ostrzeżenie |
Measure_Vertex_Similarity
Measure_Vertex_Similarity to kontrola walidacyjna, która mierzy udział prawie duplikujących się wierzchołków w siatce; zgłasza wynik, ale nigdy nie blokuje przesyłania.
| Kod błędu | Seberność |
|---|---|
| Wynik jakości zasobu dla {measureName} nie mógł być obliczony, ponieważ dane wejściowe były niekompletne lub niewłaściwe. To nie blokuje Twojego przesyłania. | Ostrzeżenie |
| Jakość zasobu: {partName} ma {similar_vertex_percent}% podobnych wierzchołków (wynik: {score}). | Ostrzeżenie |