Wraz z wdrożeniem Unreal Engine 5, twórcy gier zostali wprowadzeni w środowisko World Partition.
World Partition otwiera przed twórcami możliwość budowania dużych i złożonych wysp, przy równoczesnym zmniejszeniu kosztów pamięci i zapewnieniu płynnego działania na różnych platformach.
Aby to umożliwić, World Partition wykorzystuje dwa ważne komponenty: streaming oraz poziomy HLOD (hierarchiczne poziomy szczegółów).
Streaming
World Partition wykorzystuje streaming do ładowania komórek siatki wokół gracza oraz źródła streamingu do pamięci oraz z pamięci. Pozwala to ograniczyć ilość danych, jakie komputer musi zapamiętać, do komórek otaczających postać gracza.

Jeśli długość wyspy w najszerszym miejscu przekracza 1 km, pojawi się wyskakujące okno z prośbą o włączenie streamingu.

Zaznaczenie opcji Włącz streaming sprawi, że, pomijając kilka wyjątków, bieżące użycie pamięci uwzględniać będzie jedynie komórki otaczające aktualne położenie gracza.

Kliknij Okno > Ustawienia świata, aby sprawdzić, czy opcja Włącz streaming jest włączona.

Przy pierwszym zaznaczeniu pola wyboru konieczne będzie potwierdzenie wyboru.

Wówczas funkcja streamingu powinna zostać włączona w projekcie.
Aby zwizualizować siatkę swojej wyspy, zaznacz opcję Podgląd siatek w ustawieniach świata.

Możesz zmodyfikować rozmiar poszczególnych komórek oraz zakres ładowania, jednak pamiętaj, że ustawienia domyślne zostały zoptymalizowane pod kątem rozmiarów wysp stosowanych w rozgrywkach Fortnite: Battle Royale.
Więcej szczegółowych informacji można znaleźć na stronie World Partition w dokumentacji Unreal Engine 5.
Poziomy HLOD
Hierarchiczny poziom szczegółów nazywany w skrócie poziomem HLOD w optymalny sposób grupuje aktorów znajdujących się blisko siebie, a gdy grupa znajdzie się dostatecznie daleko od źródła streamingu, zostaje uproszczona do postaci jednej siatki statycznej.
Poziomy HLOD generowane są z zastosowaniem poziomu szczegółów (LOD) o najmniejszej dokładności danego zasobu. Jeśli twoje zasoby niestandardowe nie mają ustawionych poziomów LOD, wówczas HLOD będzie bardzo kosztowny, ponieważ będzie generowany z zasobów o pełnej rozdzielczości.
LOD0 oznacza zasób o najwyższym poziomie dokładności. LOD1 oznacza siatkę o niższym poziomie dokładności, a każdy kolejny numer LOD oznacza coraz niższą dokładność.
![]() |
![]() |
Ilustracja z lewej strony przedstawia zasoby z zastosowaniem pełnej szczegółowości, natomiast ilustracja z prawej strony przedstawia zasób HLOD wygenerowany na podstawie tej komórki siatki.
Tworzenie poziomów HLOD powoduje dodanie nowych zasobów do projektu, co z kolei zwiększa całkowite użycie pamięci wyspy.
Decyzje podjęte przy doborze ustawień streamingu i poziomów HLOD wpływają na użycie pamięci w następujący sposób:
Streaming WYŁĄCZONY | Zasoby nie są wyładowywane z pamięci, a poziomy HLOD nie są używane. | Najwyższe użycie pamięci |
Streaming WŁĄCZONY, a poziomy HLOD generowane | Zasoby znajdujące się w pewnej odległości wciąż będą widoczne, jednak w miarę odsuwania się od nich kamery, będą one mniej szczegółowe. | Umiarkowane użycie pamięci |
Streaming WŁĄCZONY, a poziomy HLOD nie generowane | W miarę odsuwania kamery zasoby znajdujące się w oddali będą znikać. | Najniższe użycie pamięci |
Budowanie poziomów HLOD
Aby utworzyć poziomy HLOD, upewnij się, że w projekcie włączona jest opcja Streaming, a następnie przejdź do menu Buduj na pasku narzędzi i wybierz opcję Zbuduj HLOD.

W zależności od używanego komputera oraz złożoności świata, zbudowanie poziomów HLOD może chwilę potrwać. Dobra wiadomość jest taka, że w przypadku ponownego uruchomienia procesu poziomy HLOD będą budowane tylko dla tych regionów świata, które uległy zmianie, zatem operacja będzie szybsza.
Więcej informacji na temat sposobu działania poziomów HLOD zawiera strona World Partition – hierarchiczny poziom szczegółów w dokumentacji Unreal Engine 5.
Wykluczanie zasobów przy generowaniu poziomów HLOD
Niektóre zasoby nie wymagają poziomów HLOD. Poniżej przedstawiono przykładowe zasoby, które można wykluczyć:
Rekwizyty w pomieszczeniach i zasoby budowli | Nie powinno się tworzyć poziomów HLOD dla zasobów niewidocznych z odległości. Wśród przykładów można wymienić meble, ściany wewnętrzne, posadzki itp. |
Zasoby podziemne | Każda część wyspy znajdująca się pod ziemią, która nigdy nie będzie widoczna na linii wzroku gracza. Wśród przykładów można wymienić piwnice, jaskinie, rowy, bunkry itd. |
Mali aktorzy | Nie powinno się tworzyć poziomów HLOD dla niewielkich aktorów, którzy nie zajmują znacznej części ekranu gracza. Wśród przykładów można wymienić skrzynki, rośliny czy latarnie uliczne. |
Duzi aktorzy | Nie powinno się tworzyć poziomów HLOD dla dużych aktorów stanowiących tło, takich jak drapacze chmur lub góry. W przypadku wykluczenia ich z poziomów HLOD pamiętaj, aby zawsze pozostawały załadowane. Usuń w tym celu zaznaczenie opcji Jest przestrzennie załadowane w panelu Szczegóły. |
Wybierz wszelkie zasoby, które nie wymagają tworzenia poziomu HLOD. W panelu Szczegóły usuń zaznaczenie opcji Uwzględnij aktora w poziomach HLOD lub Uwzględnij komponent w poziomach HLOD, w zależności od zasobu.

Dobrym sposobem na ustalenie, czy uwzględniać zasób w poziomach HLOD, jest pomniejszenie widoku w edytorze i sprawdzenie, czy wykluczenie mało istotnych zasobów przy generowaniu poziomów HLOD ma sens.
Cofanie zakresu ładowania

Jakość poziomów HLOD jest powiązana z ich oczekiwaną odległością rysowania obiektów. Gdy korzystasz z funkcji streamingu, najkrótszą odległość, z której widoczne będą poziomy HLOD, wyznacza zakres ładowania skonfigurowany dla siatki World Partition.
Jeśli poziomy HLOD ładowane są dopiero wówczas, gdy na ekranie gracza są już małe, będą zajmowały mniej pamięci.
Aby zmienić zakres ładowania:
- Wybierz zakładkę Konfiguracja World Partition.
- Rozwiń Ustawienia wykonywania programu, a następnie rozwiń Siatki.
-
Zmodyfikuj zakres ładowania, klikając lewym przyciskiem myszy i przeciągając wartość liczbową w lewo lub w prawo, albo wprowadzając dokładną wartość.
Zwiększanie wydajności edytora poprzez ładowanie regionów
Podczas pracy przy dużych projektach w UEFN, gdy wyspa osiąga pewną wielkość mogą zacząć pojawiać się problemy z wydajnością. Domyślnie cała wyspa jest załadowana do pamięci. Aby uzyskać lepszą częstotliwość wyświetlania klatek i poprawić czas reakcji okna wizualizacji, można załadowywać i wyładowywać regiony, pracując przy różnych obszarach wyspy.
Pracując nad dużą i zagęszczoną wyspą w edytorze UEFN, korzystaj z minimapy World Partition do ładowania i wyładowywania sekcji wyspy, co pozwoli drastycznie skrócić czasy ładowania.
W tym celu:
-
Upewnij się, że funkcja Streaming jest włączona w poziomie.
-
Na pasku menu wybierz opcję Edytuj, a następnie Preferencje edytora...
-
Przejdź do sekcji World Partition i usuń zaznaczenie opcji "Wyłącz ładowanie w edytorze".
-
Ponownie załaduj projekt. Funkcja ta nie zacznie działać, dopóki projekt nie zostanie ponownie załadowany.
-
Na karcie World Partition kliknij lewym przyciskiem myszy i przeciągnij ramkę na obszarze do wyładowania.
-
Kliknij prawym przyciskiem myszy w obszarze zaznaczenia i wybierz opcję Wyładuj wybrane regiony.
-
Aby ponownie załadować region, kliknij i przeciągnij ramkę wokół odpowiedniego regionu, kliknij prawym przyciskiem myszy i wybierz opcję Załaduj region z zaznaczenia
Pamiętaj, że ładowanie i wyładowywanie nie wpływa na krajobraz ani żadne urządzenia. Nie dotyczy to również wszelkich zasobów, dla których w sekcji Opcje użytkownika odznaczono opcję Jest przestrzennie załadowane.
Warstwy danych w UEFN
Warstwy danych są w UEFN systemem służącym do porządkowania aktorów przez rozmieszczenie na różnych warstwach. Warstwy te można ładować i wyładowywać, aby uporządkować świat, zarządzać złożonymi poziomami i tworzyć unikatowe przygody w rozgrywkach. Wyobraź sobie grę z poziomami losowymi. Ustawienie różnych układów poziomu na różnych warstwach i losowe wybieranie jednego z nich przy rozpoczęciu rozgrywki pozwala zróżnicować doświadczenia i sprawić, że przygody będą ciekawsze. Warstwy danych można wykorzystać nawet do większych przejść, na przykład do zmiany całego poziomu z letniego na zimowy lub dodania zniszczeń do zamku po bitwie.
Szczegółowe informacje na temat tworzenia warstw danych oraz zarządzania nimi zawiera strona na temat warstw danych w witrynie dokumentacji Unreal Engine
Manipulowanie warstwami danych za pomocą narzędzia Sequencer do tworzenia sekwencji filmowych
Za pomocą sekwencji filmowej w UEFN można załadować, aktywować i wyładować warstwy danych w czasie wykonywania programu oraz w reakcji na zdarzenia.
Na karcie Sequencer kliknij przycisk Ścieżka i wybierz opcję Warstwa danych, aby dodać istniejącą warstwę danych do ścieżki Sequencera.

Po ustawieniu ścieżki kliknij prawym przyciskiem myszy ścieżkę Warstwa danych i wybierz opcję Edytuj sekcję. Następnie na karcie Zasoby warstwy danych kliknij opcję Dodaj element i wybierz warstwę danych, którą chcesz stosować z Sequencerem do sekwencji filmowych.

Kliknięcie prawym przyciskiem myszy warstwy danych na osi czasu pozwala wyświetlić jej właściwości. Możesz wówczas wybrać Pożądany stan, czyli stan warstwy w czasie, gdy oś czasu przeprowadza ocenę. Możesz również zmodyfikować wartość Stan wstępny. Stan Wstępny to stan, jaki przyjmuje warstwa przed uruchomieniem ścieżki, natomiast stan Końcowy to stan warstwy po zakończeniu ścieżki. Jeśli na przykład chcesz aktywować warstwę danych możesz wybrać Aktywowana jako stan pożądany i Załadowana jako stan wstępny. Ustawienie stanu wstępnego Załadowana i zwiększenie liczby wstępnych klatek sprawi, że warstwa będzie miała więcej czasu na załadowanie, zanim zostanie aktywowana, dzięki czemu może działać płynniej.

Przesuwając kursor osi czasu, możesz sprawdzić podgląd stanu warstwy w procesie oceny osi czasu.

Aby dowiedzieć się więcej na temat korzystania z urządzenia Sequencera do sekwencji filmowych, patrz strona urządzenia Sequencera do sekwencji filmowych.
Generowanie minimapy edytora
Krokiem opcjonalnym jest wygenerowanie minimapy o wysokiej dokładności w sesji edytora. W ten sposób można szybko wyszukać różne obszary poziomu, nad którymi chcemy pracować.
-
Na pasku menu wybierz opcję Buduj, a następnie Zbuduj minimapę edytora World Partition....
-
Na ekranie zostanie wyświetlone okno dialogowe Status budowania. Zachowaj cierpliwość, ponieważ w zależności od stopnia złożoności wyspy, wykonanie tego kroku może potrwać kilka minut.
-
Twoja minimapa będzie teraz odpowiadać oknu wizualizacji. Regiony nadal można ładować i wyładowywać w ten sam sposób.
Rozwiązywanie problemów
P.: Dlaczego nie widzę żadnych poziomów HLOD po utworzeniu?
A: Domyślnie edytor nie ładuje aktorów HLOD. Aby je sprawdzić, wyszukaj je w Outlinerze i przypnij.

P.: Dlaczego zasoby generują poziomy HLOD, gdy aktorzy są daleko od siebie?
A: Sprawdź, czy aktorzy są dołączeni/zagnieżdżeni pod aktorem nadrzędnym. Kliknij aktora i wybierz opcję Dołącz: brak, aby je odłączyć.
P.: Po wyładowaniu komórek znikają niektóre ważne zasoby.
A: Domyślnie niektóre zasoby przygotowane do pracy w UEFN nie będą miały zaznaczonej opcji Uwzględnij aktora w HLOD. Jeśli zauważysz problem, sprawdź właściwości zasobu.
P.: Dlaczego monit o streaming pojawia się, mimo że szerokość mojej wyspy nie przekracza 1 km?
A: Monit o streaming może się pojawić, gdy długość krajobrazu przekracza 1 km w najszerszym miejscu lub gdy dowolny aktor znajduje się w odległości powyżej 1 km od punktu początkowego w poziomie.
P.: Dlaczego duży aktor nie jest zastępowany poziomami HLOD po oddaleniu się od niego?
A: Co najmniej jeden aktor w hierarchii gotowca mógł zostać skopiowany i przeniesiony tak daleko, że World Partition uznaje go za siatkę, którą zawsze trzeba ładować. Aby naprawić ten problem, usuń bardzo odległych aktorów z hierarchii.