Budowanie architektury

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Budowanie stacji w sposób modularny pozwoliło nam łatwo aktualizować i rozpowszechniać aktualizacje treści i było kluczowe dla upewnienia się, że nie spędziliśmy godzin na aktualizowaniu pojedynczych siatek, tekstur, części i więcej.

Pakiety Roblox pozwalają nam osiągnąć ten modularny projekt, pozwalając nam pakować razem paletę Meshparts, która łatwo się połączyła, przycinane zestawy arkuszy i SurfaceAppearance węzły, które MeshParts mogłyby się wzajemnie udostępniać.To pozwoliło nam dostosować się do zmian w układzie i rozmiarze podczas wczesnych testów oraz uczyniło proces wypełniania stacji dużo szybszym.

Architecture Overview

Elastyczne projekty do ostatecznej sztuki

Kiedy po raz pierwszy zaczęliśmy, nie mieliśmy pełnego zrozumienia tego, czym chcieliśmy być na stacji, ani jak duża musiała być, aby pomieścić 50 graczy.

Aby to wyliczyć, najpierw zaczęliśmy budować środowisko za pomocą Parts i przywoływać niektóre siatki, takie jak kształt rotundy z naszej zewnętrznej aplikacji DCC, takiej jak Maya lub Blender.Z tymi prostymi kształtami dostosowaliśmy skalę mapy, układ pokoi i ścieżki, aby znaleźć najbardziej zabawne układy.Czy to dla gry czy doświadczenia społecznego, ten wczesny etap ma tendencję do bycia najbardziej dynamicznym.

Podczas budowania układu stacji najważniejszą rzeczą, która napędzała eksplorację, było danie użytkownikowi celu.W tym przypadku najbardziej oczywistym celem jest uzyskanie bliższego spojrzenia na czarną dziurę.Następnie wiedzieliśmy, że danie im prostej ścieżki do czarnej dziury byłoby nudne, ponieważ gracz może po prostu przejść od spawnu do końca mapy.Złamaliśmy ścieżkę, tak że gracz nie mógł dostać się do czarnej dziury, najpierw się rozejrzeć i zobaczyć innych rzeczy, które mogłyby ich również wciągnąć.

Modularny projekt pozwolił nam wprowadzić takie zmiany w środowisku bez katastroficznego przeprojektowania ogólnego projektu.Moglibyśmy przenieść całe sekcje stacji do gry z różnymi pomysłami na rozgrywkę.Ostatecznie te same modułowe części mogłyby zostać następnie zaktualizowane za pomocą pakietów, więc nie musielibyśmy ponownie budować wielu wersji tego samego zasobu.

Architecture Example 1 Architecture Example 2 Architecture Example 3 Architecture Example 4

Modularny projekt Kerr-Newman DSR-14

Stacja kosmiczna wykorzystuje tylko garstkę modułowych elementów palety.Części palety modułowej są ponownie używalnymi zasobami, co oznacza, że nie musimy tworzyć każdej ściany indywidualnie, ale możemy połączyć kilka mniejszych ścian.To pozwala na elastyczność w układzie, gdy budowanie.

Oto kilka wskazówek, które pomogły nam stworzyć nasz modularny projekt:

  • Ustal rozmiar siatki jednolitej — Dla stacji uzgodniliśmy rozmiar siatki 16 ćwieków, aby stworzyć większość modułowego ustawiaćsiatki, którą używasz, jest arbitralny, ale powinien być spójny w całym projekcie i dla wszystkich artystów pracujących nad tym projektem.Ustalenie rozmiaru siatki na początku projektu zapewnia, że każda część pasuje dobrze do części obok niej.Umożliwia również łatwe wymienianie części, na przykład wymiana sekcji ściany na sekcję drzwi.

  • Wszystkie jednostki są importowane jako śruby — Podczas tworzenia siatek w innych aplikacjach DCC, takich jak Maya lub Blender, Studio nie konwertuje metrów, centymetrów, stóp lub cali — po prostu zastępuje otrzymane jednostki tymi samymi jednostkami w śrubach.Na przykład, jeśli ustawisz jednostki na metry, Studio przekształca 2 metry na 2 szpilki.Najlepiej traktować skale jednostek w aplikacji swojego wyboru jako skale w Roblox.Najbliższa skala świata rzeczywistego dla pojedynczej śruby w Roblox wynosi 28 centymetrów.

  • Zostaw kawałki proste — Nie próbuj budować każdego kawałka, o którym myślisz, że kiedykolwiek będziesz potrzebował.Pomysł polega na posiadaniu kilku bardzo wszechstronnych części i nie wiele jednorazowych.Im więcej części masz, tym więcej czasu zajmuje stworzenie każdej części i tym bardziej wpływa na twój ogólny budżet pamięci i wydajności.Zawsze możesz dodać kolejną część do swojego zestawu, jeśli jest to absolutnie konieczne.

  • Użyj pakietów — Przekształć każdą modułową część w pakiet i umieść również materiały w pakietach, zanim zaczniesz wypełniać je w swoim doświadczeniu.Umożliwia to łatwe popychanie aktualizacji do wszystkich instancji.Zanurzymy się w pakietach nieco później.

Poniższe zrzuty ekranu pokazują różne sposoby wykorzystania modularnego projektu do budowy części stacji.

Architecture Example 5 Architecture Example 6 Architecture Example 7 Architecture Example 8

Twórz arkusze obramowania

Tekstury 1:1 są sposobem przyszłości, ale stają się kosztowne w odniesieniu do budżetów pamięci i czasu na stworzenie.Dla stacji kosmicznej 90% elementów architektonicznych wykorzystało garstkę wymienialnych zestawów arkuszy wykończeniowych, które są zestawem map tekstur rozmieszczonych w poziomie pionowym lub poziomie poziomym.Każda linia lub kolumna arkusza ma unikalny wygląd, dając ci zbiór różnych powierzchniowych zabiegów do wyboru podczas rozpakowywania modelu, wszystko przy użyciu jednej arkuszy obrazów.

Oto kilka wskazówek dotyczących tworzenia arkuszy obcinających:

  • Rozpocznij od ewidencji rodzajów obiektów i materiałów, których potrzebujesz — arkusze cięcia mogą zawierać dużą różnorodność rodzajów materiałów, takich jak drewno, metal, guma i wiele więcej.Zanim zaczniesz modelować swój pierwszy obiekt, stwórz szablon arkusza cięcia.To jest punkt wyjścia dla wszystkich innych zestawów arkuszy ćięcia i daje ci szybki punkt wyjścia do rozpakowania modeli.Te arkusze obcinające żyją w węźle SurfaceAppearance, który omówimy później.

  • Włącz różne rodzaje powłok na jednej stronie — Pozwala to utrzymać więcej siatki razem, dzięki czemu możesz stosować nowe leczenie bez konieczności rozdzielania siatek na wiele siatek.Poprawia to wydajność czasu wykonywania, zmniejszając wezwania do wyciągania obiektów i materiałów.

  • Twórz szablon arkusza przycinającego — Szablon zapewnia, że możesz wymienić dowolny zestaw map na inny.Na przykład możesz zamienić czysty zestaw metalowy za zardzewiały ustawiaćmetalowy.

Oto jak stworzyliśmy arkusze cięcia dla stacji:

Stworzyliśmy ogólny zarys tego, jak powinna wyglądać arkusz:

Trim Sheet Example

W Photoshopie stworzyliśmy makietę, aby uzyskać szybki obraz tego, jak każda sekcja przypinki arkusza wyglądałaby.

Trim Section Example

Użyliśmy Substancji, ale możesz używać dowolnej aplikacji, która pasuje do tworzenia ostatecznych map.To jest ostatni zestaw map arkuszy wykończenia, które zostały wygenerowane w Substancji.Wszystkie cztery mapy współpracują w ramach węzła SurfaceAppearance, aby wyprodukować materiał oparty na fizycznej renderowanej (PBR).

Oto kilka ostatecznych renderów arkusza wykończenia wewnątrz Substance Designera:

A oto przykłady tych samych arkuszy cięcia używanych na dużej gamie obiektów:

Modular Trim Sheets

Jeśli chcesz dowiedzieć się więcej o mapowaniu UV Trim Sheet, po prostu wyszukaj temat w Internecie; istnieje wiele świetnych samouczków.

Zastosuj wyglądy powierzchni

SurfaceAppearance pozwala ci określić nowe wejścia do tekstur do naszego systemu renderowania opartego na fizyce dla MeshParts i pozwala ci zastąpić wygląd siatki za pomocą zaawansowanych opcji graficznych, w tym ColorMap, MetalnessMap, RoughnessMap i NormalMap.Wykorzystuje również nowy dynamiczny system map kostkowych, który Roblox wykorzystuje do odzwierciedlania materiałów, takich jak chrom.Na przykład, oto obok siebie obraz sieci z SurfaceAppearance zastosowany obok sieci bez niego:

Surface Appearance Example

Podczas używania wyglądu powierzchni pamiętaj o następujących wskazówkach:

  • Jeśli twoje mapy obróbek zawierają informacje o alfa dla przejrzystości, zmień tryb alfa z pokrycia na przejrzystość.
  • Wygląd powierzchni nie działa z częściami, ponieważ nie mają informacji UV potrzebnych do zastosowania map.Części wykorzystują projekcje zgodne z światem w miejsce informacji UV.MeshParts są zwykle tworzone w innej aplikacji, takiej jak Maya, 3ds Max lub Blender, i zawierają informacje o rozpakowaniu UV.

Aby zastosować SurfaceAppearance :

  1. Kliknij na końcu nazwy MeshPart lub nazwy katalogu w Explorer i poszukaj SurfaceAppearance.Dodanie jednego anuluje każdy BrickColor, Color, Material i TextureID, które już zastosowałeś.

  2. Zmień nazwę węzła SurfaceAppearance na coś unikalnego i dodaj prefiks _SA aby ułatwić ich wyszukiwanie.W tym przykładzie użyliśmy Metal_Trim_A_SA.

  3. Importeruj mapy arkuszy wykończenia, kopiuj ID z panelu Menadżera zasobów i wklej je do odpowiednich pól w panelu Właściwości.Oto, jak wygląda węzeł Metal_Trim_A_SA z wszystkimi ID map włożonymi i zastosowanymi do drzwi.

Surface Appearance Example 2

Zwiększ wydajność dzięki pakietom

Pakiety pozwalają tworzyć instancje obiektów w trakcie swoich doświadczeń Roblox, tak aby aktualizacje, które wprowadzasz do pakietu, były publikowane we wszystkich instancjach tego pakietu.Użyliśmy pakietów dla prawie każdego obiektu, który umieściliśmy na stacji, więc nie musieliśmy ścigać każdego umieszczenia, jeśli musieliśmy wprowadzić poprawki.Na przykład użyliśmy ponad 1000 instancji panelu ścianowego pakietu i mogliśmy opublikować aktualizacje natychmiast po zmianie pakietu.

Postępuj zgodnie z tymi wskazówkami podczas używania pakietów:

Włącz funkcję automatycznej aktualizacji w PackageLink .Wszystkie modyfikacje są stosowane do wszystkich użyć pakietu, gdy jest to włączone, co oszczędza krok polegający na korzystaniu z funkcja"aktualizuj wszystko".

Packages Example

Możesz używać pakietów dla obiektów SurfaceAppearance do tworzenia "biblioteki materiałów". Pozwala to modyfikować mapy bitowe w obiekcie SurfaceAppearance i publikować je do każdego obiektu, który ich używa.Poniższy obrazek pokazuje główne materiały używane w trakcie demokracji.Jeśli musieliśmy zmodyfikować mapy, musieliśmy tylko zaktualizować materiał główny i ponownie opublikować pakiet.

Packages Example 2