Zgromadzenie biblioteki zasobów jest procesem importowania i konfiguracji zbioru zasobów w lokalizacji centralnej w swoim doświadczeniu dla łatwego dostępu i ponownego użycia. Ten proces może zbawić cię znaczny czas, gdy przygotowujesz się do zbudowania swojego środowisko, szczególnie jeśli konfigurujesz wartości każdego z zasobów, aby zwiększyć wydajność i optymalizować u
Używając pliku Świat Sztuki - Assembling.rbxl jako referencji, ta sekcja kursu artystycznego środowiska pokazuje, jak zesamować bibliotekę zasobów z Twoich polerowanych zasobów, w tym kroki krok po kroku na temat:
- Tworzenie niestandardowych materiałów dla twojego terenu z twoich płytkowych tekstur.
- Tworzenie obiektów SurfaceAppearance dla twojego arkusza roboczego i stosowanie ich do nieotwartych siatek w twojej bibliotece zasobów.
- Ustawienie parametrów renderowania dla Twoich zasobów, aby zapewnić optymalne wydajność na wszystkich urządzeniach.
- Konwertowanie zasobów w pakiety, aby można je aktualizować i ponownie używać w wszystkich Twoich projektach.
Po zakończeniu tej sekcji dowiesz się, jak wykorzystać swoją bibliotekę zasobów w kreatywny sposób, aby zastąpić lub przekonwertować środowisko greybox, a dodać końcowe kształty, które poprawiają ogólną przestrzeń 3D.
Tworzenie niestandardowych materiałów
Studio reprezentuje niestandardowe materiały jako obiekty MaterialVariant w ramach MaterialService. Te MaterialVariant obiekty mają cztery właściwości, które łączą cztery mapy tekstury, aby stworzyć wysokiej jakości niestandardowy materiał z fizycznymi cechami:
- MaterialVariant.ColorMap – Reprezentuje mapę tekstury albedo.
- MaterialVariant.MetalnessMap – Reprezentuje mapę tekstury metalowej.
- MaterialVariant.NormalMap – Reprezentuje mapę tekstury normalnej.
- MaterialVariant.RoughnessMap – Reprezentuje mapę tekstury niestandardowej.
Po dostarczeniu map tekstur do tych właściwości możesz zastosować swoją nową niestandardową materiał do obu części, siatek i terenu. Możesz użyć lub zmienić przykładowy materiał teksturowy .png pliki do stworzenia Lumpy Moss, Flowering Lumpy Moss, Lumpy Moss z kamieniami i kamieniami niestandardowe materiały w środowisku ko
Aby stworzyć obiekty MaterialVariant dla Twoich płytkowych tekstur:
W domowym lub Model zakładce menu bar, kliknij przycisk Menedżera Materiałów. Okienko 2>Materiały Manager2> otwiera się.
W listach Materiały wybierz podstawowy materiał, który najbardziej pasuje do twojej płytkowej tekstury. Na przykład, jeśli tworzyłeś obiekt MaterialVariant dla płytkowej tekstury Lumpy Moss, wybierz podstawowy materiał podłogowy, aby materiał dziedziczył jego właściwości fizyczne.
W Toolbar, kliknij ikona⊕. Nowy MaterialVariant wyświetla się w palecie z ikoną w prawym dolnym rogu, która wskazuje, że jest to materiał niestandardowy.
W Inspektorze, przejдиź do sekcji Generał, a następnie zmień nazwę materiału, aby zgodzić się z nazwą swojego płytkable tekstury.
W sekcji Karty teksturowej po lewej stronie Kolor, kliknij przycisk Zaimportuj. Wyświetla się okienko przeglądarki plików.
W przeglądarce plików wybierz mapę tekstury Albedo .png pliku dla odpowiedniej mapy kolorowej, a następnie przycisk Otwórz . Przeglądarka zamyka się, a nowa mapa kolorów zostaje wyświetlona z jej ID.
Powtórz ten proces dla Metalności, Normalności i Rozdzielczości mapy tekstur. Aktualizacja materiału personalnego odzwierciedla mapy tekstur.
W sekcji Nakrycia włącz przełącznik Ustaw jako przeciwdziałanie, aby upewnić się, że Studio używa tego niestandardowego materiału.
(Opcjonalne) Jeśli tworzysz niestandardowy materiał, który reprezentuje materiał organiczny,
- W sekcji Płytki kliknij dropdown Wzór.
- Wybierz Organic , aby losowo znormalizować wynik i zmniejszyć widoczne płytki.
Powtórz ten proces dla każdej pożądanej tekstury, którą chcesz uwzględnić w swoim doświadczeniu.
Utwórz pakiety wierzchnictwa
Studio wykorzystuje karty ostrzenia w SurfaceAppearance obiektach, które możesz zrodzic do MeshParts , które zawierają dane UV. Podobnie jak niestandardowe materiały, SurfaceAppearance obiektów ma cztery właściwości, które łączą cztery mapy tekstury karty, aby stworzyć wysokiej jakości 3D powierzchni wizualnej:
SurfaceAppearance.ColorMap – Reprezentuje mapę tekstury albedo. SurfaceAppearance.MetalnessMap – Reprezentuje mapę tekstury metalu. SurfaceAppearance.NormalMap – Reprezentuje mapę tekstury normalnej. 0> Class.Surface Spencer.RoughnessMap0> – Reprezentuje mapę tekstury gładkiej.
Po dostarczeniu map tekstur do tych właściwości możesz uczynić obiekt SurfaceAppearance dzie
Możesz używać lub modyfikować mapę tekstury prób .png plików, aby stworzyć SurfaceAppearance obiekt, który szanuje dane uv dla prób modułowych zasobów i elementów w otoczeniu końcowego laserowego tagu prób, lub możesz użyć własnego, który zaprojektowałeś w poprzedniej sekcji tutorialu, które stosuje się do własnych zasobów modułowych
Aby stworzyć SurfaceAppearance pakiety, które możesz dziecić do swojego modułowego zestawu i ozdób:
Utwórz obiekt SurfaceAppearance w Pracowniku.
Wybierz obiekt SurfaceAppearance , a następnie w oknie Właściwości wybierz właściwość Mapa Kolorów . Wyświetlany jest popup.
Kliknij przycisk Dodaj Zdjęcie… . Wyświetli się ekran galerii zdjęć.
Wybierz mapę tekstury Albedo dla odpowiedniej mapy tekstury, a następnie przycisk Otwórz . Plik przeglądarki zamknięty, a właściwość KolorMapa aktualizuje się z nowym ID.
Powtórz ten proces dla MetalnessMap , NormalMap i RoughnessMap właściwości, wybierając ich odpowiednie mapy tekstury z przeglądarki przeglądarka.
W oknie Explorer, naciskając prawe przyciski na obiekt SurfaceAppearance, wybierz Zapisz jako pakiete z menu kontekstowego. Wyświetlony zostanie dialog 2>Zapisz jako pakiet2>.
Wypełnij pola Tytuł i Opis , ustaw własność na siebie lub grupa, a następnie kliknij przycisk Zatwierdź . Po zakończeniu użyj znaku łańcucha, aby zidentyfikować go jako pakiet.
(Opcjonalne) Wybierz obiekt Kształt zapowiedzi dziecka PackageLink i w oknie 0>Właściwości0> włącz 3>Aktualizację automatyczną3>, aby automatycznie aktualizować pację, jeśli dokonasz jakiejkolwiek modyfikacji obiektu 6>Kształt zapowiedzi 6>.
Importuj modułowe zasoby i elementy
Studio reprezentuje modułowe zasoby i propy, które importujesz jako Model obiekty z
Używając importu 3D, możesz zaimportować próbkowy zestaw modułowy i elementy w Studio do użycia w swojej bibliotece zasobów, lub możesz zaimportować dowolne zasoby, które zaprojektowałeś w poprzednim sezonie tutorialu. Dla więcej informacji na temat funkcjonalności tego narzędzia, zobacz Import 3D.
Aby zaimportować swoje modułowe zasoby i elementy doświadczenia:
W Strona główna lub Awatar zakładce, kliknij przycisk Zaimportuj 3D. Wyświetlacz plików wyświetla się.
Wybierz .fbx plik dla modułowego źródła lub prop.
Zweryfikuj podgląd obiektu i sprawdź, czy ustawienia importowania są poprawne dla twojego obiektu.
Kliknij Zaimportuj. Zasoby wyświetlają się w oknie Eksplorer i w oknie widoku.
Powtarz ten proces dla każdej modułowej zasoby i prop.
Przenieś wszystkie swoje zasoby do jednej obszar swojego doświadczenia w pobliżu swojej geometri w kształcie szarej skrzyni. Ta strefa jest twoją biblioteką zasobów.
Zastosuj dane o powierzchni
Gdy przeprowadzasz proces rozpakowiwania UV w programie do modelowania sieci w programie do modelowania sieci w programie do modelowania sieci w programie do modelowania sieci w programie do modelowania sieci w programie do modelowania sieci w programie do modelowania sieci w programie do modelowania sieci w programie do modelowania
Aby zastosować SurfaceAppearance dane mapy tekstury do nieotwartych siatek w swojej bibliotece zasobów:
- W oknie Explorer, kliknij swoje powierzchnię pację, a następnie naciśnij Ctrl 2> D 2> ( 5> ⌘ 5> 8> D8> ) aby go sklonować.
- Dziecko pakietu SurfaceAppearance duplikat aby móc aplikować jego dane UV na mapach tekstury i wyświetlać jego wizualne leczenie.
- Powtarz ten proces dla każdej modułowej zasoby i prop.
Ustaw parametry fizyki i renderowania
Teraz, gdy masz swoje zasoby w Studio, ważne jest ustawienie parametrów fizyki i renderowania, które umożliwiają zachowanie najwyższej jakości wizualnej na różnych urządzeniach z ograniczeniami pamięci i grafiki. Ogólnie rzecz biorąc, im bliżej przywiązujesz się do zaleceń w tym sezonie, tym bardziej wydajna będzie Twoja w
Zakotwiczone
Właściwość BasePart.Anchored określa, czy system fizyki Roblox wpływa na pozycję obiektu. Gdy włączysz tę właściwość dla Part lub MeshPart, usuwa obiekt z fizycznych obliczeń dynamicznej symulacji, która zawsze jest uruchomiona w doświadczeniu
Przedmioty, które nie simulują odpowiedzi fizycznej, są tańsze do renderowania, ponieważ nie zajmują one GPS, który jest niezbędny do tych obliczeń fizycznych. Gdy uwolnisz GPS, poprawisz wydajność dla swojego doświadczenia, szczególnie na urządzeniach z niższej półki, które muszą zapisać GPS dla szybkiego płynnego rozgrywka. To jest powodem, dla któreg
Możliwość kolidowania
Właściwość BasePart.CanCollide określa, czy obiekt może fizycznie wejść w interakcję z innymi obiektami. Gdy włączysz tę właściwość dla Part lub MeshPart, obiekt jest niedostępny, a silnik Roblox uwzględnia to w kalkulacjach fizycznych. Te
Aby złagodzić niektóre z tych wpływów na wykonywanie, wyłącz tę właściwość dla obiektów, z którymi użytkownik nigdy się nie zetknie. Na przykład, środowisko laserowe oznaczenia końca kałuży wyłącza tę właściwość dla wszystkich liści.
Możliwość dotyku
Właściwość BasePart.CanTouch określa, czy Touched i TouchEnded wydarzenia na obiekcie. Gdy włączysz tę właściwość dla 1> Class.
Ten proces ma miejsce dla każdego pojedynczego klatki, co może zająć znaczną ilość pamięci, jeśli silnik musi sprawdzić stan ewentu dotykowego dla wielu obiektów jednocześnie. Aby zmniejszyć ten wpływ na pamięć, włącz tę właściwość tylko dla obiektów, które muszą wywołać ewent.
Możliwość zapytania
Właściwość BasePart.CanQuery określa, czy silnik Roblox rozważa obiekt podczas operacji zapytania przestrzeni, takich jak rzucanie promieniami. Studio włącza tę właściwość dla każdego Part lub MeshPart przez domyśln
Z tego powodu zaleca się wyłączyć tę właściwość dla obiektów, których silnik Roblox nie musi rozważać do operacji zapytania przestrzeni. Gdy podejmujesz decyzje o tym, gdzie wyłączyć tę właściwość, rozważaj, jak każda nieruchomość wpływa na grę, ponieważ silnik musi uwzgl
Zrzut Cienia
Właściwość BasePart.CastShadow określa, czy obiekt castuje cień. Gdy włączysz tę właściwość dla Part lub MeshPart, silnik Roblox oblicza każdą lokalizację wierzchołka obiektu podczas uruchomienia, a następnie rysuje rajast z słońca na dowolne ze swoich
Te obliczenia mogą przyjść w koszcie wydajności, szczególnie gdy masz wiele obiektów z geometrią złożoności. To jest, ponieważ obiekty z geometrią złożoności mają więcej pól niż obiekty, które są geometrycznie proste, co oznacza, że mają więcej krawędzi, które silnik musi obliczyć dla cienia obiektu. Im mniej krawędzi w obiekcie, tym szybsza jest operacja i tym tańszy cień obiektu.
Cienie mogą zapewnić wielki realistyczny efekt dla obiektów z 3D głębokością geometryczną, więc gdy decydujesz, gdzie wyłączyć tę właściwość, rozważaj, gdzie obiekty zapewniają znaczny wizualny poprawę dla środowiskoi gdzie użytkownicy zauważą brak cieni. Na przykład, zło
Podwójny
Właściwość MeshPart.DoubleSided określa, czy renderować obie strony lub poligony w sieci. Gdy włączysz tę właściwość dla MeshPart , takiego jak liście, włosy lub karty piel
Ta właściwość jest użyteczna do dodania realizmu do swojego środowisko, ale kosztuje jej wydajności, ponieważ silnik musi renderować poligony obiektu dwukrotnie: raz dla kierunku, który twarze kamerze, a ponownie dla dowolnych siatek, które twarze się od dala od kamerze. Aby zmniejszyć niektóre z tych wpływów na wykonywanie, środ
Zaufanie
Właściwość MeshPart.CollisionFidelity określa, jak bardzo fizyczna hitbox sieci lub unii pasuje do jej przedstawienia wizualnego. Domyślnie ustawienie tego parametru renderuje hitbox, która jest około taka sama jak kształt poligonu sieci, co oznacza, że gdzie użytkownicy kolidują z obiektem, jest podob
Możesz ustawić tę właściwość na inną wartość, aby zmniejszyć dokładność hitbox'a sieci. Na przykład, gdy ustawisz tę właściwość na Hull, silnik Roblox znacznie zmniejsza wierzchołki węzłów sieci
Podobnie jak BasePart.CastShadow , im więcej węzłów potrzebuje silnik Roblox do renderowania, tym wyższy jest koszt wydajności. Dlatego ważne jest, aby rozważyć, jak chcesz użytkowników interagować z każdym siatki, aby zobaczyć, czy możesz zmniejs
Aby pokazać ten koncept, zobacz następujące obrazy, które wyświetlają hitbox każdego siatki modelu ściany, która dostarcza wzrost wysokości pomiędzy pierwszym a drugim piętrem finalnego tagu laserowego środowisko. Domyślny hitbox dla głównej ściany ma wiele niepotrzebnej geometri, gdy tylko musi zapewnić
Podczas podejmowania tych decyzji ważne jest, aby rozważyć, jak zmiana wartości domyślnej może negatywnie wpływać na użytkowników, gdy przeglądają twoje środowisko. Na przykład, jeśli ustawisz wartość na Box dla sieci wązków ściany, użytkownicy będą
Uwaga, że ważne jest, aby mieć hitbox, który dokładnie odpowiada kształtowi swojego siatki, szczególnie gdy musisz kontrolować dokładnie, jak użytkownicy kolizują z jego kształtem. Na przykład w środowisku laserowego środowiskodrzwiowego wymaga, aby użytkownicy tylko kolizowali z krawędziami drzwi i nie z samymi drzwiami, aby zawsze mogli wejść lub wyjść z kieszonki
RenderowanieFidelności
Właściwość MeshPart.RenderFidelity określa poziom szczegółowości sieci, który jest wyświetlany dla użytkownika. Gdy ustawisz tę właściwość na Enum.RenderFidelity.Automatic, silnik Roblox zmniejsza szczegółowość sieci imię, imię i
Im więcej obiektów silniku musi renderować dokładnie do użytkownika z dowolnej odległości, szczególnie jeśli mają dużą liczbę węzłów, im wyższy koszt wydajności. Aby zmniejszyć niektóre z tych wpływów na wykonywanie, ustaw tę właściwość na Entity.RenderFidel
Konwertuj zasoby w pakiety
Teraz, gdy wszystkie twoje modułowe zasoby są w Studio z ustawionymi parametrami renderowania, aby zachować ich wysoką jakość wizualną dla wszystkich użytkowników, nadszedł czas, aby je przekonwertować do pakietów. Ważne jest, aby przekonwertować swoje zasoby w pakiety, ponieważ pozwala to na ich natychmiastowe ponowne w
Ponieważ twoje obiekty SurfaceAppearance są już pakietami, gdy przekonwertujesz swoje obiekty Model w pakiety, stają się pakietami zagnęszczonymi. Pakiety zagnęszczone pozwalają na utrzymanie złożonych hierarchii dzieci, które możesz modyfikować niezależnie od pakietu Model. To pozwala ci na
Aby zamienić twoje modułowe zasoby i elementy w pakiety:
W oknie Explorer , prawym kliknięciem kliknij modułową zasobę lub prop, a następnie wybierz Zapisz do pakietu z menu kontekstowego. Wyświetlana jest diagnoza Zapisz do pakietu .
Wypełnij pola Tytuł i Opis , ustaw własność na siebie lub grupa, a następnie kliknij przycisk Zatwierdź . Po zakończeniu użyj symbolu łańcucha, aby zidentyfikować go jako pakiet.
Powtarz ten proces dla każdej modułowej zasoby i prop.
Gdy jesteś zadowolony z ogólnego wyglądu swojej biblioteki zasobów, możesz przejść do dekorowania środowiska swoimi właśnie poleszonymi zasobami i konfiguracji dodatkowych elementów przestrzeni 3D, aby dostosować świat do życia.