Dzięki Scene Graph możesz szybko przejść od greyboxingu i budowania świata do w pełni grywalnego poziomu w kilku prostych krokach.
Scene Graph to natywny system Verse, który wykorzystuje właściwości języka Verse. Dzięki temu możesz w większym stopniu dostosować swoje projekty za pomocą interaktywnych, niestandardowych obiektów i wrażeń z rozgrywki.
Scene Graph zapewnia lepszą stabilność projektu, ponieważ Verse wykonuje całą ciężką pracę w tle, zapewniając, że jednostki działają zgodnie z oczekiwaniami. Verse ma także głęboki dostęp do wszystkich komponentów i jednostek sceny, dzięki czemu możesz sprawić, że twoja scena będzie prezentować się z dużą różnorodnością.
Włączanie Scene Graph w twoim projekcie
Aby użyć Scene Graph w swoim projekcie:
Na pasku narzędzi wybierz Projekt > Ustawienia projektu, aby otworzyć okno Ustawienia projektu.
W oknie Ustawienia projektu w sekcji Dostęp do wersji beta włącz Narzędzia Scene Graph. W wersji beta system Scene Graph jest domyślnie włączony.
Aby potwierdzić, że możesz wyświetlać funkcje Scene Graph, na pasku narzędzi wybierz Umieść aktorów i sprawdź, czy pozycja Jednostki pojawia się na liście rozwijanej Umieść aktorów.
Obiekty w Metawersum
Metawersum to internetowa rozrywka społecznościowa w czasie rzeczywistym, w której ludzie bawią się i nawiązują kontakty w świecie 3D. Firma Epic Games opracowała system Scene Graph do UEFN, aby umożliwić ci tworzenie takich wrażeń w metawersum.
W systemie Scene Graph możesz tworzyć instancje obiektów i ponownie wykorzystywać obiekty bez klasyfikacji Aktor Unreal Engine. Rdzeniem Scene Graph jest zestaw elementów, które wykorzystują dane i logikę do tworzenia gry, a także renderowania i symulowania obiektów w dowolnym środowisku gry.
Aktorzy i jednostki nie są wymienne – są to różne systemy, które współpracują ze sobą na scenie.
Za pomocą systemu Scene Graph możesz utworzyć środowisko symulacji 3D w czasie rzeczywistym, w którym wszystkie podejmowane decyzje projektowe i rezultaty są od razu widoczne w oknie wizualizacji. Można je edytować w panelu szczegółów lub w edytorze gotowców.
Możesz importować zasoby, które tworzysz lub kupujesz od dostawcy, i używać ich w systemie Scene Graph do tworzenia niestandardowych obiektów i gotowców.
Wszystko, co zbudujesz w Scene Graph, może być wykorzystywane wielokrotnie i przy mniejszej ilości pamięci. System budowania Scene Graph został zaprojektowany, aby umożliwić złożone udostępnianie treści i wspólne realizowanie symulacji przy jednoczesnym egzekwowaniu granic między zawartościami.
Jednostki i komponenty
Jednostki i komponenty stanowią podstawę systemu Scene Graph. Działają poprzez sterowanie definicją i zachowaniem obiektów.
Jednostki to kontenery dla komponentów lub innych jednostek. Pusta jednostka nie będzie miała widocznego efektu ani funkcjonalności. Komponenty dostarczają dane oraz zachowanie do jednostki. Połączenie komponentów dodanych do jednostki określa, co ta jednostka robi w scenie.
Jednostka może zawierać dowolną liczbę różnych komponentów. Jednak w danej chwili do jednostki może być dodany tylko jeden komponent danego typu komponentów. Na przykład w jednostce można użyć tylko jednego typu komponentu light_component. Aby używać wielu komponentów typu powszechnego, można utworzyć nowe jednostki tak, aby przechowywały każdą instancję komponentu.
Pewne typy komponentów są generowane przez zasoby utworzone w UEFN. Komponent generowany przez obiekty to taki, który jest tworzony automatycznie na podstawie istniejącej wcześniej treści twojego projektu, takiego jak model, dźwięk obiekt systemu cząsteczkowego. Zasoby te mogą również uwidaczniać właściwości, które można modyfikować w wygenerowanym komponencie.
Komponenty mają edytowalne właściwości. Właściwości te mogą być fizyczne, takie jak siatka statyczna i system cząsteczkowy, lub logiczne, takie jak tagi rozgrywki lub niestandardowy kod Verse, który definiuje ruch platformy. Domyślnie wszystkie jednostki posiadają Transform Component (komponent przekształcenia), który określa, gdzie dana jednostka istnieje w świecie.
Konstruowanie jednostki za pomocą języka Verse nie powoduje automatycznego utworzenia komponentu przekształcenia.
Dzięki Scene Graph możesz szybko zestawić elementy sceny i stworzyć mechanikę gry, wykorzystując dane fizyczne z siatek, sygnałów dźwiękowych i wielu innych rzeczy.
Jednostka staje się fizyczną reprezentacją siatki statycznej po dodaniu komponentu siatki do jednostki i wybraniu siatki w slocie Siatka komponentu. Oznacza to, że możesz szybko tworzyć makiety budynków lub poszczególnych elementów sceny i od razu używać ich w swojej scenie.
Na przykład na poniższym filmie jednostka zamienia się w kępę wiecznie zielonych drzew.
Możesz zamienić tę kępę drzew w gotowiec samodzielnie lub połączyć go z dodatkowymi jednostkami, aby utworzyć gotowiec lasu.
Jedna jednostka (jednostka symulacji) znajduje się na samej górze twojego projektu i reprezentuje symulację. Scena jest tworzona, gdy jednostki są zagnieżdżone pod jednostką symulacji. Dodając jednostki do mapy, automatycznie tworzysz jednostki podrzędne jednostki symulacji.
Górna jednostka gotowca stanowi główną jednostkę dla całego gotowca wraz z innymi gotowcami i jednostkami zagnieżdżonymi poniżej. Gotowce nadrzędne obejmują wygląd i zachowanie ich jednostek podrzędnych do interakcji z innymi obiektami na scenie.
Kliknij ilustrację, aby ją powiększyć.
Gotowiec, jednostka główna → WoodenHouse_Tiny_Prefab
Gotowiec podrzędny → WoodenHouse_RoofSmall_Prefab_C_1
Jednostka podrzędna → Building_WIndowCircle_Bright2
Jednostka podrzędna → Building_WIndowCircle_Bright4
Jednostka podrzędna → Building_WIndowCircle_Dark2
Jednostka podrzędna → Building_WIndowCircle_Dark4
Jednostka podrzędna → WoodenHouse_Floor
Jednostka podrzędna → WoodenHouse_RoofCap2
Jednostka podrzędna → WoodenHouse_RoofCap3
Jednostka podrzędna → WoodenHouse_RoofWindow2
Gotowiec podrzędny → WoodenHouse_SmallFloor_Prefab_C_1
Jednostka podrzędna → WoodenHouse_Floor
Jednostka podrzędna → WoodenHouse_Wall10
Jednostka podrzędna → WoodenHouse_WallDoor_C4
Gotowiec podrzędny → WoodenHouse_Windows_Prefab_C_3
Jednostka podrzędna → Building_WindowPlane_Bright3
Jednostka podrzędna → Building_WindowPlane_Bright4
Jednostka podrzędna → Building_WindowPlane_Dark3
Jednostka podrzędna → Building_WindowPlane_Dark4
Jednostka podrzędna → WoodenHouse_Windoows_10
Każdy gotowiec podrzędny zawiera komponenty, które określają, jak gotowiec wygląda i jak dopasowuje się do innych gotowców na scenie. Za pomocą Verse możesz wybrać określone gotowce i jednostki, aby wymienić gotowiec podrzędny na inny gotowiec, a nawet zmienić kolor używany do jednostek Building_WindowPlane_Bright i Building_WindowPlane_Dark.
Istnieje wiele typów komponentów, które określają sposób działania części lub całej jednostki. Aby dowiedzieć się więcej na temat różnych typów komponentów dostępnych w systemie Scene Graph, patrz: Komponenty.
Aby uzyskać więcej informacji na temat używania jednostek i komponentów, patrz: Praca z jednostkami i komponentami.
Gotowce
Scene Graph tworzy gotowce poprzez pakowanie jednostek razem w relacji elementu nadrzędnego i podrzędnego. Element nadrzędny – dowolny poziom jednostki powyżej innych jednostek, jak bezpośredni element nadrzędny pierwszego stopnia, element nadrzędny drugiego stopnia itd. Element potomny to jednostka o poziomie niższym niż element podrzędny pierwszego stopnia, element podrzędny drugiego stopnia itd.
Wszystkie wybrane jednostki, hierarchie jednostek i ich komponenty są natychmiast dodawane do tego drzewa jednostek w gotowcu. Gdy już utworzysz gotowca, możesz dostosować wszystkie jego instancje w edytorze gotowców.
Aby utworzyć instancję gotowca, przeciągnij gotowca z Przeglądarki zawartości do okna wizualizacji. Możesz również zagnieżdżać gotowce w hierarchii gotowców. Możesz użyć hierarchii, aby zastosować zmiany wprowadzone we wszystkich instancjach i gotowcach w hierarchii.
Aktualizując i ulepszając gotowca, oszczędzasz czas, ponieważ nie musisz znajdować wszystkich instancji tego obiektu, aby zaktualizować każdą z osobna.
Ponadto możesz stworzyć wiele podobnie wyglądających obiektów, wybierając podelementy w hierarchii i zastępując różne wartości komponentu. Możesz także obracać obiekty i dodawać nowe wartości komponentów do różnych instancji gotowców podczas edycji w Edytorze gotowców.
Edytor zaznacza wszystkie zmiany w panelu Szczegóły ikoną przełączania zastępowania poszczególnych atrybutów komponentu. Oznacza także różne ikony komponentów na przycisku listy rozwijanej dla danej karty komponentu.
Aby wrócić do oryginalnego projektu gotowca, kliknij przełącznik zastąpienia danego komponentu. Obiekt automatycznie powraca do stanu nadrzędnego gotowca. Możesz także kliknąć przycisk menu rozwijanego karty komponentu i wybrać Wymaż zastąpienie.
Aby dowiedzieć się więcej na temat modyfikowania gotowców, patrz: Gotowce i instancje gotowców.
W poniższym filmie system Scene Graph służy do tworzenia dwóch gotowców pomieszczeń zamkowych.
Pomieszczenie jest zduplikowane. Jeden element pomieszczenia jest zmieniany poprzez wybranie siatki podłogi i zastąpienie oryginału, co powoduje utworzenie nowego gotowca. Możesz nadal kopiować i zastępować części, aby szybko utworzyć makietę małego zamku, a nawet wioski. Działa to również z komponentami, więc możesz dodać inne zachowanie do każdego pomieszczenia w zamku.
Edycja gotowców nie wpływa na stabilność i pamięć oryginalnego obiektu lub jego kopii. Oznacza to, że możesz ukończyć układ poziomu, abstrakcyjny projekt i grafikę, aby stworzyć niestandardowe obiekty do swojej wyspy. Dzięki systemowi budowania Scene Graph możesz ponownie wykorzystywać utworzone gotowce w różnych projektach, by stworzyć swoje własne uniwersum rozgrywki w Fortnite.
Język Verse w systemie Scene Graph
Verse to język programowania używany przez Scene Graph do tworzenia i usuwania jednostek ze świata oraz tworzenia niestandardowych komponentów i zachowań.
Za pomocą języka Verse można stworzyć zewnętrzną wahadłową latarnię dla domu z poprzedniego przykładu. W Verse można zdefiniować właściwości kołysania, obrotu i czasu trwania, aby określić sposób, w jaki porusza się latarnia.
Gotowce utworzone w projekcie są ujawniane językowi Verse jako klasa w pliku Assets.digest.verse projektu. Jednostki i komponenty zdefiniowane w gotowcu są dostępne w języku Verse poprzez wywołania GetEntities() i GetComponents() w gotowcu.
Aby rozpocząć używanie języka Verse w systemie Scene Graph, patrz: Tworzenie własnego komponentu za pomocą Verse.
Ćwiczenie praktyczne
Przykładowy szablon systemu Scene Graph wprowadza w podstawowe koncepcje pracy z funkcjami Scene Graph i opiera się na tych podstawowych przepływach pracy, aby zilustrować możliwości tworzenia projektu przy użyciu gotowców i języka Verse. Każdy przykład ilustruje możliwość wykorzystania systemu Scene Graph do iteracji projektu w celu utworzenia interesujących i funkcjonalnych obiektów w grze oraz rozgrywki.
Otwórz dokument Tworzenie platformówki za pomocą systemu Scene Graph, aby dowiedzieć się więcej o używaniu systemu Scene Graph do tworzenia interesującej rozgrywki.
Aby znaleźć więcej szczegółowych samouczków na konkretny temat, przejrzyj dostępne samouczki dotyczące narzędzia Scene Graph.