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 modułowy pozwoliło nam na płynne aktualizowanie i propagowanie aktualizacji treści, co było kluczowe, aby nie spędzać godzin na aktualizowaniu poszczególnych siatek, tekstur, części i innych elementów.

Pakiety Roblox pozwoliły nam osiągnąć ten modułowy design, umożliwiając pakowanie razem palety Meshparts, które łatwo się łączyły, zestawów arkuszy wykończeniowych oraz węzłów SurfaceAppearance, które mogły być współdzielone przez MeshParts. Dzięki temu mogliśmy dostosować się do zmian w układzie i rozmiarze podczas wczesnych testów gry, co znacznie przyspieszyło proces wypełniania stacji.

Przegląd architektury

Elastyczne projekty do finalnej sztuki

Kiedy zaczynaliśmy, nie mieliśmy pełnego zrozumienia tego, co chcemy mieć w stacji, ani jak duża powinna być dla 50 graczy.

Aby to ustalić, zaczęliśmy od budowania środowiska przy użyciu Parts i wprowadzania niektórych siatek, takich jak kształt rotundy z naszej zewnętrznej aplikacji DCC, takiej jak Maya czy Blender. Dzięki tym prostym kształtom dostosowaliśmy skalę mapy, układ pomieszczeń i ścieżek, aby znaleźć najbardziej interesujące aranżacje. Niezależnie od tego, czy chodzi o grę, czy doświadczenie społeczne, ten wczesny etap jest zazwyczaj najbardziej dynamiczny.

Podczas budowania układu stacji najważniejszą rzeczą, która napędzała eksplorację, było nadanie użytkownikowi celu. W tym przypadku najbardziej oczywistym celem było zbliżenie się do czarnej dziury. Wiedzieliśmy, że prosta ścieżka do czarnej dziury byłaby nudna, ponieważ gracz mógłby po prostu przejść od miejsca odrodzenia do końca mapy. Złamałem ścieżkę, aby gracz nie mógł dotrzeć do czarnej dziury, nie przechodząc najpierw wokół i nie widząc innych rzeczy, które mogłyby ich przyciągnąć.

Modułowy design pozwolił nam na wprowadzenie takich zmian w środowisku bez katastrofalnego przekształcania ogólnego projektu. Mogliśmy przenosić całe sekcje stacji, aby bawić się różnymi pomysłami na rozgrywkę. Ostatecznie te same modułowe elementy mogły być następnie aktualizowane za pomocą pakietów, więc nie musieliśmy odbudowywać wielu wersji tego samego zasobu.

Przykład architektury 1 Przykład architektury 2 Przykład architektury 3 Przykład architektury 4

Modułowy design Kerr-Newman DSR-14

Stacja kosmiczna wykorzystuje tylko kilka modułowych elementów palety. Modułowe elementy palety to zasoby wielokrotnego użytku, co oznacza, że nie musimy tworzyć każdej ściany unikalnie, ale zamiast tego możemy złożyć kilka mniejszych ścian. To pozwala na elastyczność w układzie podczas budowy.

Oto kilka wskazówek, które pomogły nam stworzyć nasz modułowy design:

  • Ustal jednolity rozmiar siatki — Dla stacji ustaliliśmy rozmiar siatki 16 studów, aby stworzyć większość zestawu modułowego. Rozmiar siatki, którego używasz, jest dowolny, ale powinien być spójny w całym projekcie i wśród wszystkich artystów pracujących nad tym projektem. Ustalenie rozmiaru siatki na początku projektu zapewnia, że każdy element dobrze pasuje do sąsiedniego. Umożliwia to również łatwą wymianę elementów, na przykład wymianę sekcji ściany na sekcję drzwi.

  • Wszystkie jednostki są importowane jako study — Podczas tworzenia siatek w innych aplikacjach DCC, takich jak Maya czy Blender, Studio nie konwertuje metrów, centymetrów, stóp ani cali — po prostu zastępuje przychodzące jednostki tymi samymi jednostkami w studach. Na przykład, jeśli ustawisz swoje jednostki na metry, Studio konwertuje 2 metry na 2 study. Najlepiej traktować skale jednostek w wybranej aplikacji jako skale studów w Robloxie. Najbliższa rzeczywista skala dla pojedynczego studa w Robloxie to 28 centymetrów.

  • Utrzymuj elementy w prostocie — Nie próbuj budować każdego elementu, który myślisz, że kiedykolwiek będziesz potrzebować. Idea polega na posiadaniu kilku bardzo wszechstronnych elementów, a nie wielu jednorazowych. Im więcej elementów masz, tym więcej czasu zajmuje stworzenie każdego z nich, a tym bardziej wpływa to na ogólną pamięć i budżet wydajności. Zawsze możesz dodać kolejny element do swojego zestawu, jeśli jest to absolutnie konieczne.

  • Używaj pakietów — Przekształć każdy modułowy element w pakiet i umieść materiały w pakietach, zanim zaczniesz je popularyzować w swojej grze. To pozwala na łatwe wprowadzanie aktualizacji do wszystkich instancji. O tym, jak korzystać z pakietów, opowiemy nieco później.

Poniższe zrzuty ekranu pokazują różne sposoby, w jakie wykorzystaliśmy modułowy design do skonstruowania części stacji.

Przykład architektury 5 Przykład architektury 6 Przykład architektury 7 Przykład architektury 8

Tworzenie arkuszy wykończeniowych

Tekstury 1:1 to przyszłość, ale stają się kosztowne pod względem budżetów pamięci i czasu potrzebnego na ich stworzenie. Dla stacji kosmicznej 90% elementów architektonicznych używało kilku wymiennych zestawów arkuszy wykończeniowych, które są zestawem map tekstur ułożonych w pionie lub poziomie. Każdy wiersz lub kolumna arkusza ma unikalny wygląd, co daje wiele różnych wykończeń powierzchni do wyboru podczas rozwijania modelu, wszystko przy użyciu jednego arkusza obrazów.

Oto kilka wskazówek dotyczących tworzenia arkuszy wykończeniowych:

  • Zacznij od inwentaryzacji typów obiektów i materiałów, których potrzebujesz — Arkusze wykończeniowe mogą obejmować dużą różnorodność typów materiałów, takich jak drewno, metal, guma i inne. Zanim zaczniesz modelować swój pierwszy obiekt, stwórz szablon arkusza wykończeniowego. To punkt wyjścia dla wszystkich innych zestawów arkuszy wykończeniowych i daje szybki punkt startowy do rozwijania swoich modeli. Te arkusze wykończeniowe znajdują się w węźle SurfaceAppearance, który omówimy później.

  • Zawieraj różnorodność wykończeń powierzchni w jednym arkuszu — To pozwala na zachowanie większej części siatki razem, dzięki czemu możesz stosować nowe wykończenia bez konieczności dzielenia swoich siatek na wiele siatek. To poprawia wydajność w czasie działania, zmniejszając liczbę wywołań rysowania obiektów i materiałów.

  • Stwórz szablon arkusza wykończeniowego — Szablon zapewnia, że możesz wymieniać dowolny zestaw map na inny. Na przykład, możesz wymienić zestaw czystego metalu na zestaw zardzewiałego metalu.

Oto jak stworzyliśmy arkusze wykończeniowe dla stacji:

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

Przykład arkusza wykończeniowego

W Photoshopie stworzyliśmy makietę, aby szybko zobaczyć, jak każda sekcja arkusza będzie wyglądać.

Przykład sekcji arkusza

Użyliśmy Substance, ale możesz użyć dowolnej aplikacji, która Ci odpowiada, aby stworzyć finalne mapy. To jest finalny zestaw map arkuszy wykończeniowych, które zostały wygenerowane w Substance. Wszystkie cztery mapy współpracują ze sobą w węźle SurfaceAppearance, aby uzyskać materiał renderowany fizycznie (PBR).

Oto kilka finalnych renderów arkusza wykończeniowego w Substance Designer:

A oto przykłady tych samych arkuszy wykończeniowych używanych na szerokiej gamie obiektów:

Modularne arkusze wykończeniowe

Jeśli chcesz dowiedzieć się więcej o mapowaniu UV arkuszy wykończeniowych, po prostu poszukaj tego tematu w sieci; jest wiele świetnych samouczków.

Zastosuj wykończenia powierzchni

SurfaceAppearance pozwala określić nowe wejścia tekstur do naszego systemu renderowania fizycznego dla MeshParts i pozwala nadpisać wygląd siatki za pomocą zaawansowanych opcji graficznych, w tym ColorMap, MetalnessMap, RoughnessMap i NormalMap. Wykorzystuje również nowy dynamiczny system cubemap, który Roblox używa do odbić w materiałach, takich jak chrom. Na przykład, oto obrazek obok siebie siatki z zastosowanym SurfaceAppearance obok siatki bez niego:

Przykład wykończenia powierzchni

Podczas korzystania z wykończenia powierzchni, pamiętaj o następujących wskazówkach:

  • Jeśli twoje mapy wykończeniowe zawierają informacje o alfa dla przezroczystości, zmień AlphaMode z Overlay na Transparency.
  • Wykończenie powierzchni nie działa z częściami, ponieważ nie mają one informacji UV wymaganych do zastosowania map. Części używają projekcji wyrównanych do świata zamiast informacji UV. MeshParts są zazwyczaj tworzone w innej aplikacji, takiej jak Maya, 3ds Max lub Blender i zawierają informacje o rozwinięciu UV.

Aby zastosować SurfaceAppearance:

  1. Kliknij na końcu nazwy MeshPart lub folderu w Explorer i wyszukaj SurfaceAppearance. Dodanie jednego nadpisze wszelkie BrickColor, Color, Material i TextureID, które mogłeś już zastosować.

  2. Zmień nazwę węzła SurfaceAppearance na coś unikalnego i dodaj do niego przyrostek _SA, aby łatwo je wyszukiwać. W tym przykładzie użyliśmy Metal_Trim_A_SA.

  3. Importuj mapy arkuszy wykończeniowych, skopiuj identyfikatory z okna Asset Manager i wklej je do odpowiednich slotów w oknie Properties. Oto jak wygląda węzeł Metal_Trim_A_SA z wszystkimi identyfikatorami map wstawionymi i zastosowanymi do drzwi.

Przykład wykończenia powierzchni 2

Zwiększ efektywność dzięki pakietom

Pakiety pozwalają tworzyć instancje obiektów w grach Roblox, dzięki czemu aktualizacje, które wprowadzasz do pakietu, są publikowane do wszystkich instancji tego pakietu. Użyliśmy pakietów do prawie każdego obiektu, który umieściliśmy w stacji, więc nie musieliśmy szukać każdego umiejscowienia, jeśli potrzebowaliśmy wprowadzić poprawki. Na przykład, użyliśmy ponad 1000 instancji paneli ściennych z pakietu i mogliśmy natychmiast publikować aktualizacje do nich, modyfikując pakiet.

Postępuj zgodnie z tymi wskazówkami podczas korzystania z 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 Ci krok korzystania z funkcji "aktualizuj wszystko".

Przykład pakietów

Możesz używać pakietów dla obiektów SurfaceAppearance, aby stworzyć "bibliotekę materiałów". To pozwala na modyfikację bitmap w obiekcie SurfaceAppearance i publikowanie ich do każdego obiektu, który go używa. Poniższy zrzut ekranu pokazuje materiały główne używane w całym demo. Jeśli musieliśmy zmodyfikować mapy, wystarczyło zaktualizować materiał główny i ponownie opublikować pakiet.

Przykład pakietów 2
©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.