Zastosowanie wypolerowanych zasobów to ostatni krok w budowaniu twojego finalnego środowiska, w którym wymieniasz swoje szare zasoby zastępcze na wysokiej jakości wypolerowane zasoby, aby spełnić estetyczne cele i wymagania projektowe twojej gry. Ta ekscytująca część programu nauczania to moment, w którym twoje otoczenie ożywa w spójną całość, gotową do publikacji.
Korzystając z pliku Island Jump - Final jako odniesienia, ta część samouczka nauczy cię, jak używać Sklepu Twórcy, aby znaleźć i dodać przykładową bibliotekę zasobów do swojego projektu, kontynuować strukturę organizacyjną, aby posortować nowe zasoby w znaczące kategorie oraz zastosować bibliotekę zasobów w przestrzeni 3D.
Uzyskaj bibliotekę zasobów
Sklep Twórcy to zakładka w Toolbox, której możesz użyć do znalezienia wszystkich zasobów stworzonych przez Roblox i społeczność Roblox do wykorzystania w swoich projektach, w tym zasobów modelu, obrazu, siatki, dźwięku, wtyczki, wideo i czcionek. Możesz użyć Sklepu Twórcy, aby dodać pojedynczy zasób lub bibliotekę zasobów bezpośrednio do otwartej gry.
Biblioteki zasobów to zbiory zasobów, które możesz umieścić w centralnej lokalizacji swojej gry dla łatwego dostępu i ponownego użycia. Biblioteka zasobów, której użyjesz w swoim projekcie z Sklepu Twórcy, zawiera sześć zasobów 3D, dwa niestandardowe materiały MaterialVariant oraz finalne efekty cząsteczkowe z Tworzenie podstawowych efektów wizualnych. Sześć siatek to:






Te zasoby to albo pojedyncze obiekty MeshPart, albo obiekty Model zawierające wiele siatek. Używają niestandardowych materiałów i tekstur renderowania opartych na fizyce (PBR) dla realistycznego cieniowania. Aby uzyskać więcej informacji, zobacz Materiały - Materiały niestandardowe oraz Tekstury PBR.
Aby uzyskać bibliotekę zasobów z twojego inwentarza do gry:
Otwórz stronę szczegółów biblioteki zasobów w Sklepie Twórcy i kliknij Pobierz model w prawym górnym rogu. Biblioteka jest teraz w twoim inwentarzu, a te zasoby możesz ponownie wykorzystać w każdym projekcie na platformie.
Wróć do Studio, kliknij Toolbox w zakładce paska narzędzi Home, przełącz się na zakładkę Inwentarz i kliknij kafelek Core Building and Scripting. Biblioteka pojawi się w widoku.

Kilka siatek może wyglądać na szare zamiast teksturowanych, ponieważ ich materiały odnoszą się do obiektów MaterialVariant, które nie są jeszcze zainstalowane. Aby to naprawić, przeciągnij Moss_Lumpy_A i Moss_Strata_Noisy_A z biblioteki zasobów do kontenera MaterialService w Eksploratorze. Tekstury wpasują się na miejsce.

Kontynuuj strukturę organizacyjną
Zanim umieścisz zasoby, rozszerz strukturę folderów, którą rozpocząłeś w Greybox obszaru gry:
- W Eksploratorze dodaj dwa nowe foldery wewnątrz Świata i nazwij je Platformy i Góry.
- Wewnątrz Platform, dodaj Model dla każdego poziomu skały morskiej i nazwij je, aby pasowały do twoich poziomów szarego pudełka. Na przykład, przykładowa gra ma 18 indywidualnych kontenerów modelu dla każdej platformy w środowisku.

Zastosuj bibliotekę zasobów
Teraz umieść wypolerowane zasoby na swoim szarym pudełku. Każda sekcja daje ci trzy ścieżki: Buduj z Asystentem (co pozwala Asystentowi umieścić każdy zasób w dokładnych współrzędnych próbki), Zastosuj swoje własne (gdzie umieszczasz zasoby, aby dopasować je do własnego układu) oraz Odtwórz próbkę (gdzie umieszczasz je ręcznie w dokładnych współrzędnych próbki).
Zrzuty ekranu sprawiają, że zasoby zastępcze są półprzezroczyste, abyś mógł zobaczyć swoje postępy między krokami.

Platformy
Biblioteka zawiera dwa obiekty platform Model (każdy składający się z dwóch dzieci MeshPart):
- PlatformA — Zawiera metalową okrągłą podstawę, używaną dla pierwszych i ostatnich platform.
- PlatformB — Zawiera podstawowy teren, używany dla platform pośrednich.

Dla każdego wiersza poniżej, skopiuj odpowiadającą siatkę z biblioteki zasobów nazwanej "Core Building and Scripting" do Workspace > World > Platforms > <Parent Model> i ustaw jej Origin.Position i Scale.
Zasoby PlatformA:
- Poziom_1: Origin.Position -30, 3, 9; Scale 2.2
- Poziom_2: Origin.Position -24, 11, 24; Scale 1.4
- Poziom_3a: Origin.Position 34, 31, 9.5; Scale 0.7
- Poziom_3b: Origin.Position 79, 31, 2; Scale 0.6
- Poziom_7: Origin.Position 402, 312, 79; Scale 1.1
Zasoby PlatformB:
- Poziom_3c: Origin.Position 89, 31, 48; Scale 0.8
- Poziom_4a: Origin.Position 104, 65.5, 46.5; Scale 0.6
- Poziom_4b: Origin.Position 127, 66, 67.5; Scale 0.6
- Poziom_4b: Origin.Position 133.5, 164.5, 70.5; Scale 0.7
- Poziom_4c: Origin.Position 152, 65.5, 91; Scale 1
- Poziom_4d: Origin.Position 200, 66, 107; Scale 0.5
- Poziom_4e: Origin.Position 238.5, 66, 81; Scale 0.8
- Poziom_5a: Origin.Position 262, 120, 57.5; Scale 0.7
- Poziom_5b: Origin.Position 245, 122, 15; Scale 0.4
- Poziom_5c: Origin.Position 271, 122.5, -5.5; Scale 0.4
- Poziom_5d: Origin.Position 318, 121, -22; Scale 0.9
- Poziom_6a: Origin.Position 363, 201, -52.5; Scale 1.2
- Poziom_6b: Origin.Position 381, 201, 11; Scale 0.4
- Poziom_6c: Origin.Position 389, 201, 47; Scale 0.6
Skałki morskie
Przykładowa biblioteka zasobów zawiera dwa typy formacji skał morskich, które możesz układać w kreatywny sposób, aby tworzyć filary swoich platform skałek morskich:
- SeaStackMesh – Zawiera solidną formację skalną.
- SeaStackCaveMesh – Zawiera tunel i solidny wierzch.
Oba typy platform to obiekty MeshPart.


Dla każdego wiersza poniżej skopiuj odpowiadający siatkę z biblioteki zasobów o nazwie "Core Building and Scripting" do Workspace > World > Platforms > <Parent Model> i ustaw jego Size, CFrame.Position oraz CFrame.Orientation. Wszystkie siatki to SeaStackMesh, chyba że zaznaczone inaczej.
Level_3a:
- Size 31, 31, 34; CFrame.Position 31, 14, 15.5; CFrame.Orientation 0, 72, 0
- Size 32, 37, 34; CFrame.Position 39, 11, 6; CFrame.Orientation 0, 162, 0
- Size 32, 36, 34; CFrame.Position 31, 13, 7.5; CFrame.Orientation 0, 68, 0
Level_3b:
- Size 35, 47, 36; CFrame.Position 80, 7, 4; CFrame.Orientation 0, -18, 0
Level_3c:
- Size 52, 69, 53; CFrame.Position 90, -4, 48; CFrame.Orientation 0, -18, 0
Level_4a:
- Size 43, 49, 43; CFrame.Position 103, 5, 48; CFrame.Orientation 0, -119, 0
- Size 37, 49, 38; CFrame.Position 104, 41, 47; CFrame.Orientation 0, -18, 0
Level_4b:
- SeaStackCaveMesh; Size 54, 67, 53; CFrame.Position 131, 88, 71; CFrame.Orientation 0, -111, 0
- Size 66, 85, 65; CFrame.Position 133, 23, 71; CFrame.Orientation 0, 87, 0
- Size 46, 55, 47; CFrame.Position 133, 136, 71; CFrame.Orientation 0, -79, 0
Level_4c:
- Size 63, 81, 62; CFrame.Position 151, 25, 91; CFrame.Orientation 0, -50, 0
Level_4d:
- Size 35, 39, 35; CFrame.Position 198, -4, 108; CFrame.Orientation 0, -44, 0
- Size 33, 36, 32; CFrame.Position 199, 21, 108; CFrame.Orientation 0, -119, 0
- Size 27, 36, 28; CFrame.Position 199, 48, 108; CFrame.Orientation 0, -18, 0
Level_4e:
- Size 57, 65, 57; CFrame.Position 239, -14, 82; CFrame.Orientation 0, -63, 0
- Size 48, 65, 50; CFrame.Position 239, 34, 81; CFrame.Orientation 0, 39, 0
Level_5a:
- Size 56, 62, 54; CFrame.Position 264, 11, 55; CFrame.Orientation 0, 150, 0
- Size 50, 57, 50; CFrame.Position 263, 50, 57; CFrame.Orientation 0, 75, 0
- Size 43, 57, 44; CFrame.Position 262, 92, 57; CFrame.Orientation 0, 176, 0
Level_5b:
- Size 47, 36, 40; CFrame.Position 245, -16, 15; CFrame.Orientation 0, 0, 0
- Size 38, 38, 41; CFrame.Position 245, 11, 14; CFrame.Orientation 0, 100, 0
- Size 36, 38, 34; CFrame.Position 243, 34, 15; CFrame.Orientation 0, -164, 0
- Size 31, 34, 30; CFrame.Position 244, 62, 16; CFrame.Orientation 0, -45, 0
- Size 28, 32, 28; CFrame.Position 244, 83, 15; CFrame.Orientation 0, -120, 0
- Size 24, 32, 24; CFrame.Position 244, 106, 15; CFrame.Orientation 0, -18, 0
Level_5c:
- Size 45, 34, 38; CFrame.Position 270, -8, -6; CFrame.Orientation 0, 180, 0
- Size 36, 35, 38; CFrame.Position 270, 17, -5; CFrame.Orientation 0, -80, 0
- Size 34, 35, 32; CFrame.Position 272, 40, -5; CFrame.Orientation 0, 16, 0
- Size 29, 32, 29; CFrame.Position 271, 65, -7; CFrame.Orientation 0, 136, 0
- Size 26, 30, 26; CFrame.Position 271, 86, -6; CFrame.Orientation 0, 61, 0
- Size 22, 30, 23; CFrame.Position 270, 108, -6; CFrame.Orientation 0, 162, 0
Level_5d:
- Size 65, 71, 63; CFrame.Position 315, -5, -27; CFrame.Orientation 0, -161, 0
- Size 58, 66, 58; CFrame.Position 315, 39, -25; CFrame.Orientation 0, 124, 0
- Size 50, 66, 51; CFrame.Position 315, 89, -24; CFrame.Orientation 0, -134, 0
Level_6a:
- Size 94, 104, 92; CFrame.Position 358, 32, -56; CFrame.Orientation 0, -123, 0
- Size 85, 96, 84; CFrame.Position 360, 97, -54; CFrame.Orientation 0, 162, 0
- Size 72, 71, 74; CFrame.Position 361, 165, -52; CFrame.Orientation 0, -79, 0
Level_6b:
- Size 44, 65, 47; CFrame.Position 380, 17, 9; CFrame.Orientation 0, -143, 0
- Size 46, 44, 39; CFrame.Position 380, 61, 11; CFrame.Orientation 0, -78, 0
- Size 37, 37, 40; CFrame.Position 381, 92, 11; CFrame.Orientation 0, 22, 0
- Size 35, 37, 33; CFrame.Position 381, 115, 10; CFrame.Orientation 0, 118, 0
- Size 30, 33, 30; CFrame.Position 379, 141, 10; CFrame.Orientation 0, -123, 0
- Size 27, 31, 27; CFrame.Position 380, 162, 10; CFrame.Orientation 0, 162, 0
- Size 23, 31, 24; CFrame.Position 380, 185, 11; CFrame.Orientation 0, -96, 0
Level_6c:
- Size 68, 52, 57; CFrame.Position 387, 3, 48; CFrame.Orientation 0, -4, 0
- Size 54, 54, 58; CFrame.Position 388, 41, 47; CFrame.Orientation 0, 96, 0
- Size 52, 54, 48; CFrame.Position 385, 75, 47; CFrame.Orientation 0, -168, 0
- Size 44, 49, 43; CFrame.Position 385, 114, 49; CFrame.Orientation 0, -49, 0
- Size 40, 45, 40; CFrame.Position 386, 145, 48; CFrame.Orientation 0, -124, 0
- Size 34, 45, 35; CFrame.Position 387, 178, 48; CFrame.Orientation 0, -22, 0
Level_7a:
- Size 96, 98, 102; CFrame.Position 406, 19, 82; CFrame.Orientation 0, -41, 0
- Size 92, 98, 84; CFrame.Position 407, 81, 82; CFrame.Orientation 0, -19, 0
- Size 81, 90, 79; CFrame.Position 407, 152, 80; CFrame.Orientation 0, 90, 0
- Size 73, 83, 73; CFrame.Position 404, 208, 80; CFrame.Orientation 0, 15, 0
- Size 62, 83, 64; CFrame.Position 403, 270, 79; CFrame.Orientation 0, 116, 0
Po umieszczeniu wszystkich stosów morskich, usuń cylindry szarego pudełka zastępczego wewnątrz każdego modelu poziomu.
Monety
Biblioteka zasobów zawiera pojedynczy zasób Coin, który jest MeshPart z dzieckiem SurfaceAppearance, które nadaje mu błyszczące metaliczne wykończenie. Umieść jedną tam, gdzie dodałeś zastępczą monetę, a następnie dostosuj jej położenie i orientację w razie potrzeby.

Dla każdego wiersza poniżej skopiuj siatkę monety z biblioteki zasobów o nazwie "Core Building and Scripting" do Workspace > World > Coins i ustaw jego CFrame.Position oraz CFrame.Orientation:
- CFrame.Position -121, 3, 6; CFrame.Orientation 0, -105, 0
- CFrame.Position -107, 3, 10; CFrame.Orientation 0, -105, 0
- CFrame.Position -104, 3, 35; CFrame.Orientation 0, 120, 0
- CFrame.Position -86, 3, 61; CFrame.Orientation 0, 30, 0
- CFrame.Position -101, 3, -12; CFrame.Orientation 0, -15, 0
- CFrame.Position -22, 6, -39; CFrame.Orientation 0, 120, 0
- CFrame.Position -48, 6, -26; CFrame.Orientation 0, 75, 0
- CFrame.Position -65, 6, -6; CFrame.Orientation 0, 75, 0
- CFrame.Position -74, 6, 19; CFrame.Orientation 0, 75, 0
- CFrame.Position -67, 6, 46; CFrame.Orientation 0, 75, 0
- CFrame.Position -38, 14, 28; CFrame.Orientation 0, 75, 0
- CFrame.Position -8, 14, 8; CFrame.Orientation 0, 75, 0
- CFrame.Position -3, 14, 34; CFrame.Orientation 0, 75, 0
- CFrame.Position 35, 33, 9; CFrame.Orientation 0, -105, 0
- CFrame.Position 59, 39, 6; CFrame.Orientation 0, 90, 0
- CFrame.Position 78, 33, 4; CFrame.Orientation 0, -75, 0
- CFrame.Position 83, 39, 22; CFrame.Orientation 0, -165, 0
- CFrame.Position 113, 70, 56; CFrame.Orientation 0, -135, 0
- CFrame.Position 134, 70, 76; CFrame.Orientation 0, -135, 0
- CFrame.Position 175, 70, 103; CFrame.Orientation 0, 75, 0
- CFrame.Position 197, 70, 107; CFrame.Orientation 0, 105, 0
- CFrame.Position 214, 81, 95; CFrame.Orientation 0, 120, 0
- CFrame.Position 235, 99, 78; CFrame.Orientation 0, 135, 0
- CFrame.Position 258, 125, 54; CFrame.Orientation 0, 135, 0
- CFrame.Position 251, 132, 11; CFrame.Orientation 0, 135, 0
- CFrame.Position 260, 140, 4; CFrame.Orientation 0, 135, 0
- CFrame.Position 270, 132, -5; CFrame.Orientation 0, 135, 0
- CFrame.Position 312, 162, -19; CFrame.Orientation 0, 105, 0
- CFrame.Position 360, 206, -40; CFrame.Orientation 0, 69, 0
- CFrame.Position 377, 260, -4; CFrame.Orientation 0, -145, 0
- CFrame.Position 380, 206, 13; CFrame.Orientation 0, 12, 0
- CFrame.Position 386, 260, 27; CFrame.Orientation 0, -145, 0
- CFrame.Position 391, 206, 45; CFrame.Orientation 0, 12, 0
Po umieszczeniu wszystkich monet, usuń zastępcze monety.
Góry
Pojedynczy MountainMesh w bibliotece zasobów dekoruje tło, ukrywa krawędź twojego terenu wodnego i zamyka obszar gry. Obracanie i skalowanie każdej instancji przerywa powtarzalność, aby gracze nie zauważyli, że używasz tej samej siatki w kółko.

Dla każdego wiersza poniżej skopiuj MountainMesh z biblioteki zasobów o nazwie "Core Building and Scripting" do Workspace > World > Mountains i ustaw jego Size, CFrame.Position oraz CFrame.Orientation:
- Size 2048, 334, 2048; CFrame.Position -1243, 115, -1402; CFrame.Orientation 0, 46, 0
- Size 2048, 212, 2048; CFrame.Position -326, 230, -1614; CFrame.Orientation -15, -155, 0
- Size 2048, 416, 1871; CFrame.Position 434, 160, -1543; CFrame.Orientation 0, -2, 0
- Size 2048, 400, 2048; CFrame.Position 1200, 147, -1534; CFrame.Orientation -15, -155, 0
- Size 2048, 540, 1488; CFrame.Position 1726, 220, -1139; CFrame.Orientation 0, -95, 0
- Size 2044, 442, 2044; CFrame.Position 2344, 174, -413; CFrame.Orientation 0, 5, 0
- Size 2048, 458, 2048; CFrame.Position 2267, 157, 1084; CFrame.Orientation 0, -81, 0
- Size 2048, 678, 2048; CFrame.Position 1662, 221, 1804; CFrame.Orientation 0, 9, 0
- Size 2043, 352, 1467; CFrame.Position 1025, 147, 2462; CFrame.Orientation 0, 54, 0
- Size 1980, 531, 1742; CFrame.Position 361, 180, 2119; CFrame.Orientation 0, 21, 0
- Size 2048, 415, 2048; CFrame.Position -580, 160, 1961; CFrame.Orientation 0, -122, 0
- Size 2048, 415, 2048; CFrame.Position -900, 160, 1652; CFrame.Orientation 0, 24, 0
- Size 1321, 403, 1321; CFrame.Position -1303, 133, 770; CFrame.Orientation 0, 55, 0
- Size 2048, 335, 2048; CFrame.Position -1653, 114, 161; CFrame.Orientation 0, -20, 0
- Size 2048, 249, 2048; CFrame.Position -1928, 79, -674; CFrame.Orientation 0, 24, 0
- Size 2048, 450, 2048; CFrame.Position -1426, 73, -895; CFrame.Orientation 0, -20, 0
Testowanie
Wypolerowane zasoby mogą zmienić kształt skały morskiej na tyle, aby wpłynąć na skok, który działał w wersji szarego pudełka poziomu. Przejdź jeszcze raz przez grę, aby zidentyfikować i naprawić wszelkie problemy przed publikacją.
Wybierz Test z rozwijanego menu i kliknij Graj. Wspinaj się na flarę na szczycie skał; jeśli skok nagle wydaje się nieprawidłowy, przesuń problematyczną siatkę i spróbuj ponownie. Kliknij Zatrzymaj, gdy skończysz.
Gratulacje z ukończenia Podstawowego Programu! Od teraz możesz rozszerzyć swój projekt o nowe funkcje rozgrywki lub poziomy, przeglądać pełny zbiór funkcji Studio lub przejść do innego programu, takiego jak Sztuka środowiskowa. Miłego tworzenia!