Wersja 43.00 wprowadza proceduralne generowanie treści (PCG) do UEFN, dzięki czemu możecie tworzyć większe światy bez konieczności ręcznego umieszczania każdego zasobu. W tej wersji dodano również więcej przepływów pracy MCP związanych z profilowaniem, przerywnikami filmowymi, dźwiękiem i animacją, a zakończono fazę eksperymentalną dla API Progression, dzięki czemu możecie publikować wyspy z niestandardowymi zadaniami. Możecie teraz również monitorować wydajność swojej wyspy w Portalu Twórcy, aby wcześniej wykrywać problemy, a następnie ustalać ich przyczyny i je usuwać, korzystając z nowych narzędzi profilowania. W tej wersji znajdziecie też nowe gotowce i galerie Sioła Szaleństwa oraz wiele więcej.
Rozgrywka
Publikowanie wysp zbudowanych przy użyciu interfejsu API Progression
Interfejs API Progression nie jest już w fazie eksperymentalnej, więc możecie teraz publikować wyspy, w których został wykorzystany. Interfejs ten pozwala stworzyć własny system zadań, od pojedynczego krótkiego zadania po rozbudowany, wielopoziomowy wątek fabularny. Korzystając z interfejsu API, można:
definiować zadania i ich cele,
śledzić postępy każdego gracza lub całej grupy,
automatycznie przyznawać nagrody po pomyślnym ukończeniu zadania,
wyświetlać swoje zadania w UI zadań w Fortnite.
Oprócz Przewodnika po API do Verse dostępna jest nowa dokumentacja, która pokazuje, jak stworzyć własny system zadań:
Questing System Overview: Zawiera opis tego, jak współdziałają ze sobą zadania, cele i nagrody.
Krótkie zadanie z monetami: Kompletny przykład zadania, które możecie stworzyć i rozegrać.
Potok zdrowia i obrażeń (eksperymentalny)
Nowy potok zdrowia i obrażeń jest teraz dostępny jako funkcja eksperymentalna w Verse. Można go użyć do kontrolowania sposobu działania obrażeń i leczenia w swojej przygodzie. Zamiast ograniczać się do nadosłony, osłony i zdrowia, możecie zdefiniować własne pule zdrowia. Możecie też nakładać własne reguły na każde trafienie i zadawać obrażenia lub stosuj leczenie wobec dowolnych elementów sceny, nie tylko graczy.
Postacie Fortnite korzystają z tego samego potoku, więc obrażenia od większości broni, zdolności i wybuchów w Fortnite podlegają waszym zasadom. Obrażenia zadawane przez Verse działają tak samo jak obrażenia zadawane przez wbudowane mechanizmy. Obrażenia obsługiwane przez wbudowane mechanizmy działają teraz na jednostki Scene Graph.
Można to wykorzystać do tworzenia:
pancerzy, barier i nakładających się na siebie osłon z zastosowaniem własnych reguł,
typów obrażeń z odpornościami i niewrażliwościami określanymi osobno dla każdej puli,
zniszczalnych rekwizytów i obiektów odnoszących obrażenia od broni,
obrażeń stopniowych, kradzieży życia i wzmocnienia obrażeń.
Aby używać potoku z tworzonymi jednostkami, należy uwzględnić użycie { /UnrealEngine.com/HealthPipeline } w swoim pliku Verse. Aby korzystać z istniejących pul zdrowia Fortnite, trzeb uwzględnić również użycie { /Fortnite.com/FortHealthPipeline }.
Więcej informacji można znaleźć w sekcjach dotyczących potoku zdrowia i modułów potoku zdrowia w Fortnite w Przewodniku po API do Verse. Listę znanych problemów można znaleźć w sekcji Znane problemy dotyczące potoku zdrowia i obrażeń poniżej.
Wyspy, które korzystają z tej funkcji, będzie można opublikować po tym, jak wyjdzie ona z fazy eksperymentalnej.
Ustawianie póz postaci dla trzymanych przedmiotów
Nowy komponent fort_item_owner_pose_modifier_component określa pozę animacji postaci podczas używania wyposażonego przedmiotu, dzięki czemu postać trzyma pochodnię w odpowiedni sposób i naturalnie czyta mapę.
Komponent modyfikatora pozy jest dołączony do held_item_template, gotowca jednostki Scene Graph przeznaczonego do tworzenia własnych przedmiotów trzymanych przez postać. Domyślna jest poza z płonącą pochodnią. Pozę można zmienić w komponencie w edytorze lub w czasie wykonywania programu za pomocą Verse.
Dostępnych jest pięć póz:
Płonąca pochodnia
Latarka
Mapa
Mały przedmiot jednorazowego użytku
Duży przedmiot jednorazowego użytku
Więcej informacji zawiera artykuł Fort Item Owner Pose Modifier Component.
Teleportowanie rekwizytów za pomocą urządzenia teleportera w Verse
Interfejs API urządzenia teleportera w Verse obsługuje teraz rekwizyty. Wystarczy wywołać teleportację lub aktywację przy użyciu creative_prop i użyć TeleportPropEvent, aby zareagować na teleportację rekwizytu. Urządzenie implementuje również interfejs enableable, obsługuje teleportowanie rekwizytów z fizyką za pomocą Verse i udostępnia nowe zdarzenia W momencie teleportacji rekwizytu i W momencie wejścia rekwizytu.
Więcej informacji zawiera sekcja klasa teleporter_device.
Kontrolowanie paliwa w pojazdach za pomocą Verse
Interfejs API fort_vehicle w Verse oferuje nowe metody pobierania i ustawiania ilości paliwa pozostałego w baku pojazdu oraz kontrolowania jego zużycia w różnych stanach.
Ta aktualizacja powstała w odpowiedzi na opinie społeczności na forach. Aby podzielić się własnymi pomysłami, możecie skorzystać z nowego formularza opinii w sekcji forów społeczności poniżej.
Więcej informacji zawiera sekcja interfejs fort_vehicle.
Aktualizowanie logiki przytrzymywania w podstawowym komponencie interaktywnym
Usunięto błąd, przez który niestandardowa logika OnStarted była wycofywana podczas interakcji wymagających dłuższego przytrzymania przycisku. W przypadku obiektów interaktywnych wymagających przytrzymania przez określony czas funkcja OnStarted była wywoływana po zakończeniu przytrzymania, a nie po jego rozpoczęciu. W tym momencie agent był już uznawany za uczestniczącego w interakcji, więc bazowa implementacja OnStarted odrzucała wywołanie i wycofywała wszelką niestandardową logikę w waszym zastąpieniu. Zdarzenie SucceededEvent nadal było wywoływane, więc interakcja wyglądała na udaną, ale kod nigdy się nie wykonywał. Funkcja OnStarted jest teraz wywoływana w momencie rozpoczęcia przytrzymywania przycisku, a zdarzenie StartedEvent jest wywoływane raz na każde przytrzymanie.
Co należy zrobić: Jeśli obeszliście ten problem, umieszczając w OnStarted logikę wykonywaną w momencie zakończenia interakcji lub wymuszając z poziomu tej funkcji pomyślne zakończenie interakcji, logika ta będzie teraz wykonywana natychmiast po rozpoczęciu przytrzymywania przycisku przez gracza. Przenieście więc tę logikę do SucceededEvent i usuńcie obejście problemu.
Budowanie świata
Budowanie większych światów za pomocą proceduralnego generowania treści (PCG)
PCG jest teraz dostępne w Unreal Editor dla Fortnite (UEFN), więc możecie generować środowiska proceduralnie, zamiast ręcznie umieszczać każdy zasób. Korzystając z narzędzi opartych na grafach, możecie automatycznie rozstawiać zasoby i tworzyć szczegółowe światy, takie jak lasy, miasta i niestandardowe miejsca na mapie na swoich wyspach.
Zacznijcie od gotowych treści z biblioteki PCG lub stwórzcie własne narzędzia oraz zasoby PCG wielokrotnego użytku i zapiszcie je na potrzeby przyszłych projektów. Dzięki blokom konstrukcyjnym wielokrotnego użytku ograniczyć powtarzalne rozmieszczanie zasobów, aby poświęcić więcej czasu na dopracowanie przygody.
Więcej informacji zawiera artykuł Procedural Content Generation Framework.
MCP UEFN zawiera również zestaw narzędzi PCG, dzięki czemu możecie używać poleceń w języku naturalnym w narzędziach programistycznych opartych na agentach AI, takich jak Claude Code lub Cursor, do tworzenia i edytowania grafów PCG.
Więcej informacji zawiera artykuł Praca z PCG i modelami LLM przy użyciu MCP UEFN i MCP UEFN.
Importowanie scen ze świata rzeczywistego jako splatów gaussowskich (eksperymentalne)
W wersji 43.00 UEFN wprowadzamy eksperymentalną obsługę splatów gaussowskich, czyli techniki umożliwiającej odwzorowywanie rzeczywistych scen z fotorealistyczną szczegółowością. Możecie w ten sposób przenieść przechwyconą lokalizację, taką jak pokój, budynek lub krajobraz, do swojej sceny jako fotorealistyczne środowisko lub tło. Zasób splatu gaussowskiego można zaimportować jako plik PLY lub SPZ, a następnie umieścić go na swojej wyspie z poziomu przeglądarki zawartości. Splaty gaussowskie są dostępne na wszystkich obsługiwanych platformach UEFN, w tym na urządzeniach mobilnych. Renderowanie wykorzystuje natywną ścieżkę zoptymalizowaną pod kątem wydajności, a dzięki integracji z systemem Niagara można kreatywnie modyfikować swoje splaty.
Protokół kontekstu modelu (MCP)
Profilowanie i optymalizacja wyspy
MCP UEFN pozwala szybciej znajdować problemy z wydajnością. Posługując się promptami formułowanymi w języku naturalnym, możecie przechwytywać i analizować dane z Timing Insights, Verse Insights, Migawki pamięci i Profilera przestrzennego, aby móc identyfikować wąskie gardła i wprowadzać poprawki optymalizujące wyspę.
Więcej informacji zawiera artykuł Profiling Your Island with the UEFN MCP. Obejrzyjcie również film wprowadzający na YouTube.
Tworzenie przerywników filmowych w Sequencerze
Posługując się promptami formułowanymi w języku naturalnym, możecie tworzyć i dopracowywać przerywniki filmowe w UEFN. Korzystając z MCP, można usprawnić konfigurację kamer, animowanie postaci i edytowanie sekwencji na potrzeby przerywników filmowych, opowiadania historii i różnych momentów rozgrywki.
Usprawnienie tworzenia dźwięku przy użyciu MetaSound
Krótszy czas konfiguracji, aby było go więcej na projektowanie dźwięku. Przy użyciu MCP można importować pliki dźwiękowe jako fale dźwiękowe, tworzyć z nich zasoby MetaSound oraz konfigurować muzykę, dźwięki otoczenia, pętle i dźwięki jednorazowe za pomocą promptów w języku naturalnym.
Ponowne wykorzystanie animacji dzięki narzędziu dopasowania IK
MCP obsługuje teraz narzędzie dopasowania IK, dzięki czemu można dopasowywać animacje do niestandardowych postaci bez konieczności ręcznego przerabiania. Możecie więc wielokrotnie wykorzystywać animacje w swoich przygodach i konfigurować niestandardowe postacie niezależne (NPC) w ciągu minut, a nie godzin.
Skrypty Python z MCP UEFN
Agenci AI połączeni przez MCP UEFN mogą teraz wykonywać skrypty Python w edytorze. Dowiedzcie się, czym różnią się narzędzie exec Python i zestaw narzędzi programowych oraz jak wybrać odpowiednie rozwiązanie do swojego zadania.
Więcej informacji zawiera artykuł Skrypty Python z MCP UEFN.
Verse i Scene Graph
Analiza przykładu zaktualizowanej funkcji Scene Graph
Przykład funkcji Scene Graph zawiera nową sekcję poświęconą kamerom i zaktualizowane przykłady gotowców. Obie części zawierają kod źródłowy Verse z komentarzami, który możecie przeczytać i wykorzystać do własnych celów.
Przykłady dotyczące kamer
Sekcja kamer pokazuje używane komponenty kamery Scene Graph. Trzy jednostki kamery obejmują kamery perspektywiczne, ortograficzne i fizyczne. Kamera fizyczna zawiera ustawienia wstępne korpusu i obiektywu odpowiadające kamerze filmowej Unreal Engine, dzięki czemu możecie wybrać czujnik i obiektyw w panelu szczegółów.
Nowe przykładowe komponenty pokazują, co możecie stworzyć:
Możecie wyświetlać graczom obraz z kamery, gdy znajdują się wewnątrz urządzenia wolumenu, i przywracać poprzednią kamerę, gdy opuszczą ten obszar.
Możecie zamieniać korpus i obiektyw kamery fizycznej podczas rozgrywki.
Możecie przełączać kamery za pomocą kontrolera kamer, wybierając je kolejno z listy i kontrolując mieszanie przy każdym przełączeniu.
Możecie wybrać styl i czas trwania mieszania używanego przez kamerę zamiast stałych ustawień domyślnych.
Znany problem: Kamery Scene Graph nie aktywują się na serwerach rozgrywki. Wywołanie Player.GetComponent[camera_director_component] kończy się niepowodzeniem. Nie ma to wpływu na sesje edycji UEFN. Obejście problemu tylko dla wersji prywatnych polega na uwzględnieniu użycia { /Fortnite.com/SceneGraphCameras } w dowolnym pliku Verse. Zostanie to naprawione w wersji 43.10.
Przykładowy gotowiec UFO
Przykładowy gotowiec UFO przechowuje teraz całą logikę promienia porywającego w jednym komponencie, zamiast rozdzielać ją między różne elementy UFO. Promień jest również osobnym gotowcem zagnieżdżonym w gotowcu UFO, dzięki czemu można używać go niezależnie. Zaktualizowaliśmy komponenty Overlap i SweepHits, aby je dopasować.
Przykład generowania gotowców wykorzystuje teraz funkcje, które nie były dostępne w chwili jego pierwszego udostępnienia. Na przykład urządzenie Verse ma teraz odwołanie do jednostki oznaczone jako @editable, które określa miejsce wygenerowania gotowca.
Każda edytowalna właściwość w próbce ma również podpowiedź i kategorię, dzięki czemu możecie wykorzystać ten projekt jako przykład dobrych praktyk podczas tworzenia własnych komponentów i właściwości Verse.
Więcej dostępnych przykładów dotyczących tej funkcji zawiera artykuł Szablony startowe UEFN.
Gotowce dziedziczą teraz po swojej klasie nadrzędnej w Verse
Gotowce, których klasą nadrzędną jest klasa inna niż jednostka, na przykład gotowce utworzone na podstawie assault_rifle_template, są teraz reprezentowane w Verse jako podklasy tej klasy nadrzędnej. Rzutowania i dostęp do pól elementów członkowskich klasy nadrzędnej działają teraz zgodnie z oczekiwaniami.
Aby to umożliwić, wbudowane klasy jednostek nie są już oznaczone jako <final>, więc możecie teraz tworzyć ich podklasy. Obejmuje to klasy jednostek przedmiotów i szablony broni: pistol_template, assault_rifle_template, sub_machine_gun_template, shotgun_template i held_item_template.
Wydajność i profilowanie
Śledzenie chwilowych spadków wydajności serwera za pomocą Verse Insights
Verse Insights jest teraz częścią Timing Insights. Gdy podczas przechwytywania danych wybierzecie Serwer jako cel profilowania, funkcje Verse pojawią się jako zdarzenia czasowe w panelu Widok synchronizacji. Na ich podstawie można ustalić, która funkcja Verse odpowiada za chwilowy spadek wydajności, a następnie sprawdzić, czy wprowadzona poprawka zadziałała. Aby korzystać z Verse Insights, trzeba włączyć opcję Użyj maszyny wirtualnej Verse w Opcjach uruchamiania przed uruchomieniem sesji.
Więcej informacji znajdziecie w artykule Verse Insights w UEFN. Możecie też obejrzeć nasz samouczek na YouTube, aby dowiedzieć się, jak sprawdzać wydajność kodu Verse wykonywanego na waszych wyspach.
Sprawdzanie zużycia pamięci przy każdej konwersji
Raportowanie zużycia pamięci jest teraz wykonywane przy każdej konwersji, dzięki czemu można monitorować zużycie pamięci w odniesieniu do limitu przewidzianego dla projektu podczas pracy, a nie tylko przy publikacji.
Sprawdzanie pamięci przy publikacji można uruchomić na żądanie w narzędziach profilowania. Każde uruchomienie sesji lub wysłanie zmian generuje nową wartość.
Raport o wydajności gry u dołu edytora wskazuje projekty, które przekraczają limit. Licznik pamięci nie pojawia się już w uruchomionych sesjach.
Podział na zasoby pokazuje, które zasoby zużywają najwięcej pamięci.
Pamięć jest teraz wyświetlana w rzeczywistych jednostkach, na przykład 300 MB, a nie 100 000 jednostek. Sam budżet nie uległ zmianie.
Filtrowanie migawki pamięci według obiektów
Migawka pamięci ma dwa nowe filtry:
Filtr obiektów poziomu trwałego
Filtr obiektów Scene Graph
Filtrów można używać osobno lub razem, aby dowiedzieć się, które obiekty zajmują najwięcej pamięci. Filtr Scene Graph sortuje obiekty na jednostki i komponenty. Filtr nie pokazuje, w jaki sposób powiązane są jednostki i komponenty, ale może pomóc ustalić, na co zużywana jest pamięć.
Monitorowanie wydajności wyspy w Portalu Twórcy
Portal Twórcy pokazuje teraz, jak wasza wyspa działa na różnych platformach klienckich i serwerach Fortnite, dzięki czemu możecie wcześniej wykrywać problemy ze stabilnością i wydajnością oraz rozwiązywać je za pomocą narzędzi profilowania UEFN. Nowe wskaźniki znajdziecie w sekcji Projekty > Kwestie techniczne, gdzie znajdują się teraz dwie karty podrzędne: Klient i Serwer.
Karta Klient
Karta Klient zawiera jeden nowy wykres. Dwa istniejące wskaźniki klienta również są tutaj dostępne:
Awarie klienta (nowa): Odsetek sesji graczy, które zakończyły się z powodu awarii gry, w porównaniu z najlepszymi wyspami w różnych gatunkach. Można filtrować według platformy lub typu awarii, w tym awarii związanych z pamięcią.
Współczynnik zacięć: Określa, jak często gracze doświadczają zauważalnych zacięć podczas rozgrywki na wyspie.
Utracone klatki: Wskazuje, jak często gra nie wyświetla klatek na czas, co powoduje spadki płynności rozgrywki.
Karta Serwer
Trzy nowe wykresy ilustrują, jak wyspa działa na serwerze Fortnite:
Czas klatki: Czas potrzebny serwerowi na przetworzenie każdej klatki, przedstawiony jako 95. percentyl (P95) i mediana w odniesieniu do docelowego czasu 33,3 ms (30 kl./s).
Użycie procesora: Udział mocy obliczeniowej jednego rdzenia procesora wykorzystywany przez wyspę, przedstawiony jako P95 i mediana w odniesieniu do wartości docelowej 75%.
Zużycie zasobów pamięci: Ilość pamięci wykorzystywanej przez wyspę wyrażona w GB i przedstawiona jako P95 oraz mediana w porównaniu z najlepszymi wyspami.
Długi czas przetwarzania klatek na serwerze oraz wysoki poziom użycia procesora lub pamięci mogą powodować opóźnienia i problemy z wydajnością u wszystkich graczy w sesji. Każdy wykres szeregów czasowych zawiera znaczniki wersji pokazujące, kiedy opublikowano aktualizację, dzięki czemu można sprawdzić, czy zmiana wpłynęła na wydajność.
Więcej informacji można znaleźć w sekcji Wydajność.
Profilowanie na urządzeniach mobilnych
Można teraz profilować wydajność wyspy na urządzeniach mobilnych z systemem iOS i Android, aby mierzyć ją na sprzęcie używanym przez większość graczy, zamiast szacować ją na podstawie sesji na komputerze.
Sesja uruchomiona na podłączonym urządzeniu mobilnym przesyła dane do Profilera przestrzennego, Migawki pamięci, Timing Insights i Verse Insights. Są to te same narzędzia, których używa się do profilowania sesji na komputerze. Profilowanie działa na lokalnie podłączonym urządzeniu. Nie zbiera danych o wydajności z urządzeń graczy. Więcej informacji można zawiera artykuł Testy gry na urządzeniach mobilnych.
Ulepszenia wydajności Scene Graph
W tej wersji wprowadziliśmy znaczące ulepszenia wydajności Scene Graph po stronie klientów, na serwerze i w edytorze UEFN. Poniżej przedstawiono ogólne omówienie obszarów, na których się skupiliśmy. Nieustannie dokładamy czasu i starań, by wprowadzać dalsze optymalizacje.
Niektóre ulepszenia mogą wymagać skonwertowania wyspy od nowa, aby ich wpływ był widoczny.
Opinie na temat wpływu tych zmian na wasze wyspy możecie przakazać za pośrednictwem forum.
Scene Graph powinien teraz działać szybciej i zużywać mniej pamięci:
Jednoczesne spawnowanie wielu jednostek jest mniej kosztowne i powoduje mniej zacięć.
Przemieszczanie jednostek zużywa teraz mniej zasobów w przeliczeniu na klatkę.
Serwery nie tracą już czasu na jednostki, które się nie poruszyły.
W edytorze kompilacja Verse i wysyłanie zmian zużywają teraz mniej czasu na ponowne tworzenie instancji.
Usuwanie dużej liczby jednostek w edytorze przebiega szybciej.
Wyspy wykorzystujące wiele właściwości materiałów z Verse lub wiele obiektów Verse zużywają mniej pamięci po stronie klienta po przesłaniu ich z wersji 43.00.
Zużycie pamięci przez Scene Graph jest teraz dokładniej monitorowane w UEFN, co ułatwia profilowanie wpływu Scene Graph na projekt.
Urządzenia mobilne, interfejs użytkownika i sterowanie
Gesty na urządzeniach mobilnych: PointerZoom nie jest już funkcją eksperymentalną
Można teraz publikować przygody wykorzystujące akcję wejściową PointerZoom (gest szczypania w celu powiększenia), która przekazuje informacje o gestach szczypania wykonywanych na wskaźniku wirtualnym. Możecie używać tej akcji do obsługi gestów szczypania w celu powiększania na urządzeniach przenośnych, sterowania przybliżeniem kamery, skalowania mapy i obiektów na podstawie takich gestów lub tworzenia dowolnych reakcji niestandardowych. To samo powiązanie obsługuje dane wejściowe z kółka myszy i prawego drążka gamepada.
Zmiana niekompatybilna: wartości gestu szczypania z PointerZoom na urządzeniach dotykowych są teraz 50-krotnie większe, aby lepiej odpowiadały działaniu kontrolera i myszy. Jeśli kod Verse skaluje wartości PointerZoom na urządzeniach mobilnych lub stosuje do nich progi, należy dostosować go do nowego zakresu wartości.
Urządzenie sterownika interfejsu: ulepszenia funkcji Zastosuj transformację kanwy i Zastąp sterowanie
Dzięki możliwości zastępowania przycisków dotykowych w urządzeniu sterownika interfejsu można dostosować więcej elementów UI wyspy bez zmieniania układów ustawionych przez graczy. Można je wykorzystać do tworzenia i dostrajania elementów sterowania dotykowego pod kątem graczy korzystających z urządzeń mobilnych:
Opcja Zastosuj transformację kanwy działa osobno dla każdego przycisku. Włączenie tej opcji pozwala umieścić przycisk we wskazanym miejscu, nadając temu ustawieniu pierwszeństwo przed układem gracza. Wyłączcie ją, aby zachować układ gracza, a jednocześnie zastosować własną ikonę. Zastosowanie jej do jednego przycisku nie resetuje już niestandardowego układu pozostałych elementów HUD ustawionego przez graczy.
Opcja Zastosuj transformację kanwy działa niezależnie od opcji Zastąp ikonę. Możecie używać każdej z tych opcji osobno.
Widżet strefy bezpiecznej jest już dostępny w UMG
Widżet strefy bezpiecznej jest teraz dostępny w Unreal Motion Graphics (UMG) dla UEFN. Użycie go pozwala utrzymać niestandardowy UI w bezpiecznym obszarze ekranu na konsolach i urządzeniach mobilnych.
Edytor i proces pracy
Tworzenie zasobów stroju i odzieży Chaos
Można teraz tworzyć i edytować zasoby strojów i odzieży Chaos w UEFN za pomocą edytora przepływu danych. Dotyczy to także odzieży postaci MetaHuman. Nie trzeba już budować ich w Unreal Engine ani migrować do swojego projektu.
Do komponentu Odzież Cloth można przypisać zasób stroju lub zasób tkaniny.
Kompaktowy łącznościowy wyświetlacz HUD
Łącznościowy wyświetlacz head-up (HUD) znajdujący się w lewym górnym rogu sesji uruchamianych w celu iteracyjnego wprowadzania zmian zajmuje teraz mniej miejsca, przy czym nadal wyświetla stan gry.
W trybie edycji i trybie gry HUD minimalizuje się do kompaktowego pola z półprzezroczystym tłem, dzięki czemu w mniejszym stopniu zasłania UI samej gry.
HUD rozwija się, gdy problem wymaga uwagi, na przykład w przypadku rozłączenia z edytorem UEFN lub ostrzeżenia o wydajności. Po rozwiązaniu problemów HUD zostaje z powrotem zminimalizowany.
Importowanie plików USD za pomocą Interchange
Teraz można importować pliki Universal Scene Description (USD) (.usd, .usda, .usdc, i .usdz) do UEFN za pośrednictwem Interchange, w taki sam sposób jak pliki FBX. Import USD tworzy te same typy zasobów co import FBX i glTF: siatki statyczne i szkieletowe, materiały, tekstury i animacje szkieletowe. Domyślne ustawienia importu sprawdzają się w przypadku większości plików, więc wystarczy kliknąć Importuj w oknie dialogowym importu. Opcje właściwe dla USD, takie jak poziom podpodziału, przeznaczenie materiału i zwijanie prymitywów, znajdują się w Ustawieniach zaawansowanych.
Uwaga: Eksport USD nie jest obsługiwany w UEFN. Okno dialogowe importu zawiera listę niektórych typów zasobów, których UEFN nie importuje: dźwięk, odzież Chaos, pamięć podręczna geometrii, owłosienie, MaterialX i rzadka tekstura wolumenu.
Więcej informacji zawiera artykuł Importowanie zasobów.
Ulepszona obsługa narzędzia przekierowania zasobów w Verse
Narzędzia przekierowania zasobów działają teraz z Verse. Narzędzie przekierowania kieruje odwołania ze starej lokalizacji zasobu do nowej. Podczas zmieniania nazwy, przenoszenia lub usuwania zasobu albo uruchamiania funkcji Napraw narzędzia przekierowania UEFN sprawdza, czy kod Verse lub gotowce korzystają z danego zasobu, i zapewnia dalsze działanie odwołań.
Zmień nazwę lub przenieś: Jeśli kod Verse lub gotowce używają zasobu, UEFN pozostawia narzędzie przekierowania, które generuje aliasy Verse pod starą nazwą, dzięki czemu istniejące odniesienia pozostają ważne. Kod nadal się kompiluje, a ostrzeżenie o przestarzałej funkcji przypomina o konieczności zaktualizowania każdego odwołania.
Usuń: Jeśli kod Verse lub gotowce używają zasobu, okno dialogowe usuwania oferuje opcje Zamień odniesienia i Wymuś usunięcie. Opcja Zamień odniesienia pozostawia narzędzie przekierowania, dzięki czemu istniejące odwołania pozostają prawidłowe.
Napraw narzędzia przekierowania: Jeśli kod Verse lub gotowce nadal używają narzędzia przekierowania, UEFN zachowuje je zamiast je usunąć.
Aby korzystać z tych ulepszeń, należy włączyć opcję Odzwierciedlaj narzędzia przekierowania UE w manifeście Verse w Ustawieniach projektu.
Odzyskiwanie obiektów w przypadku braku klasy Verse
Funkcja odzyskiwania danych chroni teraz obiekty, których klasy Verse nie można znaleźć. Do takiej sytuacji dochodzi, gdy klasa zostanie przemianowana, przeniesiona lub usunięta albo gdy kod Verse się nie kompiluje. Zamiast usuwać takie obiekty, UEFN zachowuje je jako wypełniacze wraz z zapisanymi wartościami i blokuje zapisywanie do czasu rozwiązania problemu.
Nowe narzędzie do odzyskiwania danych otwiera się automatycznie po pojawieniu się wypełniaczy. Można je również otworzyć, wybierając kolejno opcje Narzędzia > Odzyskiwanie danych. Użyj go, aby zastąpić lub usunąć brakującą klasę.
Więcej informacji zawiera artykuł System odzyskiwania danych.
Nowe gotowce i galerie
W wersji 43.00 dostępne są gotowce i galerie z motywem Sioła Szaleństwa:
Sioło Szaleństwa, podłogi – galeria
Sioło Szaleństwa, ściany – galeria
Sioło Szaleństwa, dachy – galeria
Sioło Szaleństwa, rekwizyty – galeria
Sioło Szaleństwa, pola – gotowiec
Sioło Szaleństwa, stodoła – gotowiec
Nowe zasoby w wyjaśnieniach przyczyn odrzucenia w Portalu Twórcy
Wyjaśnienia przyczyn odrzucenia zgłoszeń w Portalu Twórcy zawierają teraz dodatkowe zasoby wizualne, które pozwalają szybciej zrozumieć problem i dowiedzieć się, jak go rozwiązać. Wyjaśnienia mogą teraz zawierać:
Film z rozgrywki przedstawiający przyczynę odrzucenia w przypadku najczęstszych problemów z błędną klasyfikacją wiekową.
Podgląd zasobu obrazu, który spowodował odrzucenie zgłoszenia.
Miniaturę, która została zweryfikowana przez Epic.
Odtwarzalne pliki dźwiękowe, które zostały odrzucone w zgłoszeniu.
Więcej szczegółów na temat moderowania wysp można znaleźć w sekcji Wskazówki i FAQ dotyczące moderacji wysp.
Nowy formularz opinii na forum dla deweloperów
Na forum Społeczności deweloperów Epic (EDC) dostępny jest teraz osobny formularz opinii, niezależny od ogólnego formularza zgłaszania problemów i błędów. Stworzyliśmy go dla większej wygody i widoczności, więc teraz łatwiej jest udostępniać informacje zwrotne i śledzić aktualizacje. Stare forum informacji zwrotnych zostanie na krótko zarchiwizowane, a możliwość publikowania nowych wpisów zostanie wyłączona.
Jak działa nowy formularz:
Wybierz temat: Wybierz jeden z tematów, takich jak Verse, UEFN lub Portal Twórcy, aby Twoje informacje zwrotne dotarły do odpowiedniego zespołu.
Napisz podsumowanie: Powiedz nam, co działa, co nie działa oraz jakie zmiany pomogłyby rozwiązać problem.
Dodajecie obrazy lub film (opcjonalnie): Poprzyjcie swoją opinię przykładami.
Głosowanie społeczności: Inni członkowie społeczności mogą głosować za Twoją opinią. Gdy opinia uzyska wystarczające poparcie społeczności, rejestrujemy ją i przekazujemy zespołowi.
Obserwuj postępy: Publikujemy aktualizacje w Twoim wątku na kolejnych etapach – po przypisaniu, zaplanowaniu wydania lub publikacji – a także wtedy, gdy zdecydujemy się nie kontynuować prac. Każda aktualizacja zawiera ID zgłoszenia.
W przypadku błędów skorzystajcie z sekcji zgłaszania problemów i błędów.
Aktualizacje planu rozwoju
Najnowsze informacje o funkcjach opracowywanych dla Unreal Editor dla Fortnite można znaleźć w publicznym planie rozwoju UEFN.
Elementy planu rozwoju mogą ulec zmianie.
Poprawki błędów zgłoszonych przez społeczność
Poniżej znajdują się poprawki błędów zgłoszonych przez was na forach. Dziękujemy za cierpliwość i zgłaszanie problemów!
Usunięto błąd, przez który gracze mogli wyposażać się w kilofy ze zintegrowanymi emotkami, gdy kilofy były wyłączone, co umożliwiało zadawanie obrażeń innym graczom.
Usunięto błąd, przez który
basic_interactable_component.Cooldownnie uruchamiał się, gdy ustawiono również Czas trwania interakcji.Usunięto błąd, który uniemożliwiał pojawienie się przeniesionych zasobów w projekcie docelowym do momentu ponownego uruchomienia UEFN.
Usunięto błąd, który uniemożliwiał przesuwanie wskaźnika wirtualnego lub używanie go za pomocą kontrolera na PS5.
Usunięto błąd, który uniemożliwiał odtwarzanie efektów graficznych po aktywowaniu przez Sequencer.
Usunięto błąd, który powodował, że hiperłącza komunikatów o błędach w Edytorze materiałów otwierały Szufladę zawartości, zamiast przenosić do miejsca wystąpienia błędu w grafie.
Usunięto błąd, przez który monit interakcji pojawiał się na ekranie po wywołaniu
Disable()dla komponentuinteraction_componentw Verse.Usunięto błąd, który powodował awarię UEFN podczas przypisywania urządzenia do opcjonalnej właściwości
@editablew komponencie Verse.Usunięto błąd, przez który interfejs API Social Synergy wykrywał członków ekipy tylko w sesjach edycji, a nie podczas testów gry czy w sesjach prywatnych lub publicznych.
Usunięto błąd, przez który
SetPresentableToPlayersdziałałoby niespójnie w przypadku wielu jednostek z tym samym komponentem.Usunięto błąd, przez który edytowalne właściwości obiektów klas Verse nie zawsze pozostawały niezależne między instancjami gotowców, co oznaczało, że zmiana w jednej instancji mogła niezamierzenie wpływać na inną.
Pełną listę poprawek zaplanowanych dla wersji 43.00 można znaleźć w wynikach tego wyszukiwania na forum Społeczności deweloperów Epic.
Aktualizacje i poprawki ekosystemu Fortnite
Nowości:
Dodano interakcję i podniesienie do czynności, które można nadpisać na urządzeniu sterownika interfejsu. Interakcja i podniesienie współdzielą jedną akcję kontekstową, więc nadpisanie ma zastosowanie do obu i jest statyczne.
Zaktualizowano urządzenie sterownika interfejsu, dzięki czemu dane układu we własnym układzie interfejsu wpływają na skalę przycisków.
Poprawki:
Usunięto błąd, przez który zdarzenie
SprintedEventbyło wyzwalane przy rozpoczęciu lub zakończeniu ruchu, zamiast przy zmianie sygnału wejściowego sprintu.Usunięto błąd, który mógł powodować duplikowanie przedmiotów, gdy wielu graczy rozłączało się z sesją korzystającą z funkcji persystencji danych.
Usunięto błąd, przez który parser JSON nieprawidłowo parsował zakres liczb całkowitych o wartościach zbliżonych do maksymalnych wartości 32-bitowych liczba całkowitych ze znakiem i bez znaku.
Usunięto błąd, przez który gracze mogli trwale utracić możliwość dołączenia do wyspy z powodu błędu InvalidIslandVersionOnServer po zmianie historii wersji wyspy.
Aktualizacje i poprawki UEFN
Nowość:
Dodano obsługę edycji na żywo dla zasobów gotowców jednostek. Zmiany wprowadzone w zasobie gotowca aktualizują teraz każdą jego instancję w sesji.
Dodano obsługę edycji na żywo dla funkcji Przyciągnij obiekt do widoku, Przyciągnij początek do siatki, Przyciągnij początek do elementu, Przyciągnij zaznaczenie do warstwy 2D oraz Przyciągnij elementy do elementu. Akcje te aktualizują teraz sesję bez konieczności wysyłania zmian.
Dodano obsługę edycji na żywo dla wolumenów pędzli, takich jak wolumen blokowania i wolumen przetwarzania końcowego. Umieszczanie wolumenu, zmiana jego rozmiaru i skali aktualizują teraz sesję bez konieczności wysyłania zmian lub odświeżania sesji.
Zaktualizowano edycję na żywo, aby wyświetlała monit o wysłanie zmian, gdy nie może zastosować zmiany wolumenu, zamiast nie podejmować żadnego działania. Wolumeny wykluczania zbiorników wodnych nadal wymagają wysłania zmian.
Dodano funkcję szybkiego wyszukiwania do profilera czasu w UEFN.
Dodano argument wiersza poleceń
ValkyrieMap=, aby zastąpić mapę startową.
Poprawki:
Usunięto błąd, przez który po cofnięciu zmiany wymagającej wysłania nadal wyświetlał się komunikat o konieczności wysłania zmian w edytorze i kliencie.
Usunięto awarię, która występowała podczas wyciszania gracza na czacie głosowym.
Usunięto awarię podczas przywracania konfiguratora filtrów z zapisanego układu w profilerze czasu.
Usunięto błąd, przez który uruchamianie sesji z UEFN mogło się zawiesić, ponieważ bezczynny klient nie dołączył do sesji.
Usunięto błąd, przez który ekipa mogła utknąć na etapie oczekiwania na graczy mimo zgłoszenia gotowości przez wszystkich, jeśli jej członkowie wrócili do lobby, zanim wolniej ładujący gracz zakończył dołączanie do poprzedniego meczu.
Usunięto błąd, przez który nieprawidłowe żądanie dobierania graczy mogło zostać przetworzone bez zablokowania, gdy nie powiodła się konwersja niektórych list rozgrywki.
Usunięto błąd, który występował za każdym razem, gdy jednostka była umieszczana w sesji edycji na żywo.
Usunięto błąd, przez który zmiany wprowadzone z poziomu klienta gry nie były poprawnie reprezentowane w UEFN dla projektów korzystających z World Partition.
Animacja i przerywniki filmowe
Nowość:
Dodano panel podglądu z narzędziem do wyboru animacji i selektorem krzywej wejściowej do edytora grafu definicji RigMapper w eksperymentalnej wtyczce RigMapperOp.
Dodano obsługę wypukłych obiektów kolizyjnych i kształtów ograniczających w Control Rig Dynamics.
Dodano funkcję GetSequenceLength do API Verse dla urządzenia sekwencji filmowej.
Dźwięk
Nowość:
Zaktualizowano działanie napisów do dźwięków streamingowych, aby były umieszczane w kolejce dopiero po rozpoczęciu odtwarzania dźwięku, a nie już w momencie wydania polecenia odtwarzania.
Poprawki:
Usunięto błąd w systemie Windows, który uniemożliwiał połączenie z mikrofonem, ponieważ wejścia mikrofonowe były nieprawidłowo wyświetlane na liście.
Edytor
Nowość:
Dodano możliwość wyrównania siatki do przekształcenia niestandardowego albo do wybranego aktora bądź jednostki. Narzędzia rozmieszczania, takie jak rysowanie i przyciąganie, uwzględniają teraz przekształcenie siatki.
Zaktualizowano domyślną siatkę, aby używała przekształcenia instancji poziomu podczas edycji instancji poziomu.
Dodano grupowanie wierszy do edytora tabeli proxy, dzięki czemu można porządkować wpisy bez używania wierszy zastępczych.
Dodano obsługę wybierania jednostek Scene Graph za pomocą narzędzia wyboru aktorów, także podczas wyrównywania siatki do aktora.
W Preferencjach edytora dodano opcję, która aktualizuje etykietę aktora podczas jego zastępowania. Ta opcja jest domyślnie wyłączona.
Dodano polecenia przesuwania w lewo, w prawo, w górę, w dół, do przodu i do tyłu, dzięki czemu można zmieniać przypisania klawiszy przesuwania w sekcji Preferencje edytora > Skróty klawiszowe.
Dodano kolumnę komentarza do edytora tabeli proxy, dzięki czemu można zostawić komentarz do dowolnego wiersza.
Dodano funkcję wyszukiwania w edytorze tabel proxy, aby umożliwić filtrowanie wierszy.
Dodano możliwość wyboru wielu wierszy w edytorze tabel proxy. Teraz można wiele wierszy jednocześnie, edytować ich właściwości i klikać je prawym przyciskiem myszy.
Dodano możliwość przeciągania i upuszczania wierszy tabeli proxy, w tym wielu zaznaczonych wierszy, także między dwoma otwartymi oknami tabeli proxy.
Dodano możliwość wycinania, kopiowania, wklejania i duplikowania wierszy tabeli proxy, w tym wielu zaznaczonych wierszy, także między dwoma otwartymi oknami tabeli proxy.
Dodano polecenie Przenieś do kursora, które można przypisać do skrótu klawiszowego.
Dodano obsługę tworzenia ograniczeń sprężystych między elementami w zasobach strojów Chaos za pomocą węzłów przepływu danych
SimulationOutfitVertexSpringConfigiSimulationOutfitVertexFaceSpringConfig.Zaktualizowano rozmieszczenie obiektów tak, aby w przypadku braku obiektu z kolizją, w który można trafić, wykorzystywany był bufor głębi. Ułatwia to przeciąganie obiektów do poziomów bez fizyki.
Do przeglądarki zawartości dodano filtry Ma ostrzeżenia weryfikacji wydajności i Ma błędy weryfikacji wydajności.
Dodano poziomy ważności do weryfikacji zasobów. Problemy z weryfikacją są teraz zgłaszane jako ostrzeżenia lub błędy.
W ustawieniach importu DNA dodano opcję, która pozwala wyłączyć ponowne obliczanie normalnych podczas importowania plików DNA przez Interchange. Patrz Uwagi dotyczące aktualizacji.
Zaktualizowano kopiowanie i wklejanie wektorów, obrotów i przekształceń, aby działały tak samo w każdym trybie wyświetlania. Typy Verse są teraz kopiowane jako literały Verse, które można wkleić do kodu. Wklejanie obsługuje zarówno literały Verse, jak i wartości silnika (X=, Y=, Z=), w razie potrzeby konwertując współrzędne między układem Left-Up-Forward (LUF) a układem współrzędnych silnika.
Dodano obsługę importu glTF (.glb i .gltf) do narzędzi siatek statycznych, w tym osadzonych materiałów i tekstur.
Dodano okno dialogowe potwierdzenia podczas archiwizowania lub przywracania z archiwum projektu należącego do zespołu.
Poprawiono dokładność weryfikacji iteracyjnej w UEFN.
Usunięto błąd, przez który podczas usuwania zasobu nie wykrywano odwołań w kodzie Verse ani odwołań do typów Verse wygenerowanych z tego zasobu.
Dodano obsługę Lumen do edytora gotowców. Opcje Oświetlenie globalne Lumen i Odbicia Lumen są dostępne w menu Pokaż w oknie wizualizacji edytora gotowców i działają teraz zgodnie z przeznaczeniem. Domyślne ustawienia można ustawić w preferencjach edytora.
Poprawki:
Usunięto błąd, przez który podczas przesyłania plików nie dodawano ich ponownie do obszaru przejściowego po naprawieniu przekierowań.
Usunięto błąd, przez który eksport glTF zmieniał nazwy materiałów, co uniemożliwiało ponowny import bez utraty danych.
Usunięto błąd, który powodował awarię UEFN podczas próby załadowania uszkodzonego pliku przy uruchamianiu.
Usunięto awarię, która mogła wystąpić podczas wklejania aktorów.
Usunięto błąd, przez który zmiana nazwy zasobu lub naprawienie narzędzia przekierowania nie wykrywały typów Verse wygenerowanych z tego zasobu, gdy odwoływały się do nich inne pakiety.
Usunięto błąd, przez który zmiana ustawienia eksperymentalnego nie powodowała ponownej weryfikacji zasobów, na które miała wpływ.
Naprawiono nieodwracalną macierz, aby zapewnić renderowanie miniatur gotowców jednostek.
Usunięto błąd, przez który ikony ostrzeżeń dotyczących weryfikacji zasobów w przeglądarce zawartości nie aktualizowały się po zapisaniu zasobów.
Usunięto błąd, przez który ponowny import za pomocą Interchange usuwał przypisania siatek statycznych z instancjonowanych komponentów siatek statycznych.
Usunięto błąd występujący podczas kopiowania plików, gdy w Perforce ustawiono opcję Gałąź, a automatyczne dodawanie nowych plików do systemu kontroli wersji było wyłączone.
Usunięto błąd, przez który wklejanie podobiektów Scene Graph między gotowcami pozostawiało odwołanie między pakietami, które uniemożliwiało konwersję zasobu.
Usunięto błąd, przez który zapisanie plików konfiguracyjnych Live Link Hub wyzwalało automatyczny ponowny import.
Usunięto awarię, która mogła wystąpić po wyłączeniu edytora.
Usunięto błąd, przez który wklejenie urządzenia z odniesieniem
@editabledo urządzenia powodowało współdzielenie tego odniesienia z pierwotnym urządzeniem, przez co edycja dowolnego z nich zmieniała oba urządzenia.Usunięto błąd, przez który opcja Przejdź do zasobu nie działała na aktorach siatki statycznej.
Usunięto awarię, która mogła wystąpić przy wychodzeniu z edytora w projektach wykorzystujących hierarchiczny poziom szczegółowości (HLOD) World Partition.
Usunięto błąd, przez który kombinacja Ctrl + kliknięcie była ignorowana, ponieważ inne zachowania narzędzi miały pierwszeństwo we frameworku narzędzi interaktywnych.
Usunięto błąd, przez który materiały podłoża nie były prawidłowo eksportowane do glTF.
Interfejs edytora
Nowość:
Dodano możliwość zmiany wysokości poziomych pasków filtrowania i włączono ją w edytorze gotowców.
Dodano obsługę zwiększania i zmniejszania wartości liczbowych za pomocą klawiszy strzałek oraz wykonywania większych skoków wartości z użyciem klawiszy modyfikujących. Teraz można nacisnąć Enter lub Tab, aby zatwierdzić wartość, albo Esc, aby anulować. Zmiany można również cofać.
Ulepszono stopniową zmianę wartości: Przeciąganie myszą zmienia teraz wartości w sposób ciągły, natomiast kółko myszy i klawiatura zmieniają je o stałe przyrosty.
Dodano akcję odłączania do Outlinera. Przytrzymanie klawisza Alt podczas przeciągania obiektu na jego obiekt nadrzędny pozwala go odłączyć.
Zaktualizowane gotowce pojawiają się teraz domyślnie jako zwinięte w Outlinerze.
Zaktualizowano kolory osi edytora, aby pasowały do układu współrzędnych Left-Up-Forward (LUF), gdy jest on aktywnym systemem wyświetlania.
Dodano automatyczne przewijanie podczas przeciągania obiektu w pobliżu krawędzi widoku. Opcja ta jest domyślnie włączona w Outlinerze i edytorze gotowców.
Poprawki:
Usunięto błąd, przez który menu Znajdź w materiałach pojawiało się w każdym oknie.
Usunięto błąd, przez który właściwość zasobu w komponentach odzieży Chaos nie pojawiała się w UEFN.
Usunięto błąd, przez który zmiany wprowadzane jednocześnie przez wielu klientów gry nie były prawidłowo wyświetlane na liście edycji.
Usunięto błąd, przez który selektor kolorów zamykał się po kliknięciu podczas edycji właściwości koloru aktora Blueprintu w poziomie.
Usunięto błąd w systemie macOS, polegający na tym, że otwarcie Preferencji z paska menu aplikacji otwierało sekcję Ogólne > Wygląd zamiast sekcji Wszystkie ustawienia.
Środowiska i krajobrazy
Nowość:
Dodano zdolność zmiany właściwości terenu na wyspie ze zbiornikiem wodnym.
Poprawiono informacje zwrotne podczas korzystania z listy dozwolonych warstw w trybie malowania krajobrazu. Kursor i wskaźnik warstwy docelowej zmieniają się teraz podczas dodawania warstwy do listy dozwolonych lub usuwania jej z tej listy.
Zaktualizowano listę dozwolonych warstw komponentu krajobrazu, aby była tylko do odczytu w panelu szczegółów. Zamiast tego należy ją edytować w trybie krajobrazu: naciśnięcie = pozwala dodać komponent, a naciśnięcie - umożliwia jego usunięcie.
Poprawki:
Usunięto błąd, który mógł powodować awarię podczas ładowania starszego krajobrazu bez warstw edycji.
Usunięto błąd, który mógł powodować awarię, gdy nazwa typu trawy krajobrazu była taka sama jak nazwa już istniejąca.
Usunięto błąd, przez który skróty klawiszowe trybu krajobrazu (przecinek, kropka i Esc) były aktywowane podczas wpisywania tekstu w polu tekstowym.
Usunięto błąd, który powodował wyświetlanie ostrzeżeń dotyczących shaderów po przejściu do trybu malowania krajobrazu.
Usunięto błąd, który mógł powodować awarię wyrażenia materiału mieszania warstw krajobrazu, gdy wejście wysokości było połączone z nieprawidłowym węzłem, takim jak brakująca funkcja materiału.
Usunięto błąd, który mógł powodować awarię podczas ładowania krajobrazu ze zduplikowanymi typami trawy.
Usunięto błąd, który mógł powodować awarię podczas zamykania edytora za pomocą Pythona w trybie krajobrazu.
Usunięto problem, który uniemożliwiał modyfikowanie stycznych krzywych sklejanych krajobrazu.
Interfejs gry
Poprawki:
Usunięto błąd, przez który UI transakcji na wyspie nie działał dla drugiego gracza w trybie podzielonego ekranu.
Usunięto błąd, przez który akcje wejściowe UI powiązane z niestandardowym przyciskiem były uruchamiane, nawet gdy przycisk był wyłączony.
Usunięto błąd, przez który nakładające się nieprzezroczyste elementy UI w świecie gry były renderowane w niewłaściwej kolejności.
Materiały
Nowość:
Włączono dziedziczenie materiałów w Verse w UEFN. Instancje materiałów mogą teraz dziedziczyć po wspólnej bazowej klasie materiału, co zmniejsza zużycie pamięci podczas wykonywania programu i pozwala funkcjom pomocniczym działać na wielu instancjach materiałów. Patrz Uwagi dotyczące aktualizacji.
Zaktualizowano wartość koloru czyszczenia wirtualnej tekstury czasu wykonywania dla przemieszczenia z 0 na 0.5 (brak przemieszczenia).
Dodano obsługę podłoża dla węzła BSDF wody jednowarstwowej w shaderach trafień z ray-tracingiem.
Poprawki:
Usunięto błąd, przez który rozgałęzienia typu float w materiałach mieszały wartości dla warunków niebędących wartościami logicznymi zamiast wybierać jedną z nich.
Modelowanie
Nowość:
Ulepszono obsługę zdegenerowanych trójkątów w niektórych narzędziach do modelowania, w tym podczas malowania wierzchołków, przemieszczania siatki i wypalania.
Python
Nowość:
Przeniesiono ustawienia Python do Preferencji edytora i dodano obsługę włączania skryptów Python osobno dla każdego projektu.
Zmieniono sformułowanie dotyczące włączania Pythona w ustawieniach projektu.
Poprawki:
Usunięto błąd, przez który delegaty wielokrotnego wysyłania nie mogły rozróżniać różnych obiektów Pythona możliwych do wywołania tego samego typu.
Usunięto błąd, przez który
unreal.Text.is_culture_invariant()była powiązana z niewłaściwą funkcją.Usunięto błąd, przez który operatory działające w miejscu na
unreal.Arrayiunreal.Setzwracały wartość None. Na przykłada += bpozostawiałoajako None.Usunięto błąd, przez który operator
>=zachowywał się jak>w przypadku niektórych typów.Usunięto błąd, który mógł powodować awarię podczas odśmiecania pamięci w Pythonie.
Scene Graph
Nowość:
Zaktualizowano edytor, aby działał bezpośrednio na jednostkach Scene Graph, zamiast za pośrednictwem aktorów proxy jednostek, co poprawia wydajność. Niektóre opcje menu kontekstowego jednostek uległy zmianie, ale te same funkcje są nadal dostępne.
Zwiększono maksymalną liczbę zmiennych
weak_mapna moduł projektu UEFN z 4 do 6.Zaktualizowano kamery Scene Graph, aby wszystkie kąty były wyrażane w radianach zamiast w stopniach, zgodnie ze standardami Verse. Nazwa FieldOfViewDegrees w perspective_camera_component została również zmieniona na FieldOfView.
Poprawiono wydajność w przypadku bardzo dużych gotowców. Jednostki podglądu nie są już ponownie inicjowane podczas ich przeciągania, przeciągania suwaków panelu szczegółów lub przeciągania gizmo. Pełna ponowna inicjacja następuje po zwolnieniu przycisku.
Dodano warstwy modyfikatorów kamery. Dodaj modyfikatory kamery do jednej z tych warstw (patrz Uwagi dotyczące aktualizacji):
PreCameraModifiers: Uruchamia się przed aktualizacją aktywnego komponentu kamery. Służy do ustawiania współdzielonych ustawień domyślnych.PostCameraModifiers: Uruchamia się po aktualizacji aktywnego komponentu kamery, w zmiksowanym stanie kamery. Służy do obsługi logiki, która nie powinna być wykonywana więcej niż raz podczas mieszania, takiej jak kolizja lub odrzut broni.PresentationCameraModifiers: Uruchamia się na końcu aktualizacji kamery. Służy do efektów kosmetycznych, takich jak trzęsienie kamerą.
Dodano obsługę modyfikatorów kamery napisanych przez użytkownika. Verse nie jest jeszcze wykonywany po stronie klienta, dlatego kamera z modyfikatorem napisanym przez użytkownika działa na serwerze i replikuje swój stan na kliencie.
Poprawki:
Przesunięcia jednostek są teraz uwzględniane przez zapytania o nakładanie i omiatanie w tej samej klatce. Nie powinno już być konieczne wywoływanie funkcji uśpienia między przesunięciem jednostki a wykonaniem zapytania.
Usunięto błąd powodujący drgania broni i innych obiektów przymocowanych do gniazd po stronie klientów.
Usunięto błąd, przez który dźwięk był pozycjonowany przestrzennie względem postaci gracza zamiast aktywnej kamery podczas korzystania z kamer Scene Graph.
Usunięto awarię związaną z zapytaniami dotyczącymi tagów obiektów kreatywnych i jednostek.
Usunięto błąd, przez który zapytania dotyczące komponentów (
FindEntitiesWithComponent,FindDescendantComponentsiFindComponents) czasami nie zwracały komponentów dodanych lub usuniętych podczas wykonywania funkcji cyklu życia jednostki.Usunięto błąd, przez który komponent description_component czasami ignorował dane tekstowe otrzymane z serwera.
Usunięto błędy edycji na żywo występujące podczas cofania usunięcia komponentu.
Usunięto błąd, przez który wywołanie
Enable()uruchamiało odtwarzanie w komponentach dźwięku i systemów cząsteczkowych, gdy ustawienie AutoPlay było wyłączone.
Aktualizacje i poprawki Verse
Nowość:
Zaktualizowano moduły Verse zawierające zasoby odzwierciedlane, aby były domyślnie dostępne w całym projekcie. Patrz Uwagi dotyczące aktualizacji.
Poprawki:
Usunięto błąd, przez który narzędzia przekierowania zasobów do materiałów nie generowały aliasów Verse.
Usunięto błąd, przez który narzędzia przekierowania zasobów nie generowały aliasu dla wpisu *_asset w manifeście i podsumowaniu Verse.
Usunięto błąd, przez który aliasy typów Verse generowane przez narzędzia przekierowania zasobów nie używały specyfikatora dostępu do danych obiektu docelowego.
Znane problemy:
Interakcja z obiektami interaktywnymi może być trudniejsza podczas korzystania z kamer Scene Graph. Aby obejść ten problem, należy dodać urządzenie sterowania trzecioosobowego obok kamery.
API
Nowość:
Dodano interfejs
clocki globalnie dostępny obiektSecondsSinceEpochClock.Dodano eksperymentalny interfejs
playable, służący do reprezentowania klas obsługujących odtwarzanie, takich jak osie czasu, liczniki czasu, dźwięki i efekty wizualne.Dodano eksperymentalną klasę licznika czasu, której można używać do odliczania, odmierzania czasu rund i czasu odnowienia.
Liczniki czasu zliczające w górę można wyrazić jako
TenSecondTimer := timer{ ReferenceClock := SecondsSinceEpochClock,StartSeconds := 0.0,EndSeconds := 10.0}Liczniki czasu odliczające wstecz można wyrazić jako
TenSecondCountdownTimer := timer{ ReferenceClock := SecondsSinceEpochClock,StartSeconds := 10.0,EndSeconds := 0.0 }PlayRatedefiniuje, jak szybko licznik czasu postępuje w kierunkuEndSeconds
Zaktualizowano zdarzenia Verse, aby można było je subskrybować i nasłuchiwać ich wystąpienia.
Dodano funkcje rozszerzenia
Last[]do tablic, dzięki czemu można uzyskać dostęp do n-tego elementu od końca tablicy.Zaktualizowano szablony projektów, aby korzystały z wersji FindCreativeObjectsWithTag, która nie została oznaczona jako przestarzała.
Zaktualizowano obiekty trybu kreatywnego, aby dziedziczyły has_tags.
Przestarzałe:
Wycofano
tag_view.
Język
Nowość:
Dodano możliwość odwoływania się do wcześniej zadeklarowanego pola członkowskiego w wyrażeniu inicjującym inne pole. Obowiązują przy tym następujące ograniczenia:
Pola, do których istnieją odniesienia, muszą być oznaczone jako
<final>.Pola, do których istnieją odniesienia, nie mogą być oznaczone jako
@editable.Nie można odwoływać się do pól zadeklarowanych później w klasie.
Nie można odwoływać się do pól w nadtypach.
Obsługiwane są tylko klasy i interfejsy.
Pola z funkcjami dostępowymi nie są obsługiwane.
Pola
<localizes>nie są obsługiwane.Inicjacja z odwołaniem do samego siebie nie jest obsługiwana.
Poprawki:
Zdolności korzystające z zapytań o cele w obszarze klina nie wykrywają jednostek Scene Graph bez aktora, dlatego nie zadają im obrażeń. Zostanie to naprawione w wersji 43.10.
Usunięto błąd, przez który dane diagnostyczne kompilacji Verse nie były wyświetlane dla pakietów pominiętych podczas kompilacji przyrostowej.
Znane problemy z potokiem zdrowia i obrażeń
Rakiety rykoszetują od jednostek, nie zadając obrażeń przy bezpośrednim trafieniu.
Broń wystrzeliwująca lekkie pociski, taka jak modułowy karabin szturmowy Wojennik Aresa, nie zadaje obrażeń jednostkom.
Kilka broni niebalistycznych nie zadaje obrażeń jednostkom: Działko błyskawicowe, Rakietnica, Pierwotny łuk promienisty, Pierwotny łuk śmierdzący, Wyrzutnia dyń i Wyrzutnia pił.
Utrzymujące się obrażenia obszarowe, takie jak obrażenia od ognia i gazu, są zadawane jednokrotnie, gdy jednostka wchodzi na dany obszar, ale nie są zadawane ponownie, gdy pozostaje na takim obszarze.
Kolizje obiektów fizycznych nie zadają obrażeń jednostkom.
Przedmioty leczące w Fortnite, takie jak Bazooka Siorbu i Chill Bronco, nie mogą leczyć jednostek.
Efekty trafienia są niespójne w przypadku jednostek.
Filtrowanie według drużyny, ognia sojuszniczego i własnej postaci nie ma zastosowania do jednostek.
Wpis korekty poziomu zdrowia o zerowej wartości delta nie generuje wpisu wyniku.
Informacje o aktualizacji
Normalne nie są już automatycznie przeliczane podczas składania postaci z MetaHuman Creator. Jeśli istniejące normalne są nieprawidłowe, należy ponownie złożyć postać.
Dziedziczenie materiałów, teraz włączone w UEFN, może w rzadkich przypadkach powodować błędy kompilacji podczas ponownego przesyłania projektu. Aby je usunąć:
Kwalifikowany dostęp do składowej
(Value.(Class)Member)kończy się błędem „nieznana składowa”, jeśliMemberzostanie przeniesiona do klasy nadrzędnej. Należy usunąć kwalifikację lub zmienić ją tak, aby wskazywała klasę nadrzędną, w której obecnie zadeklarowano dany element.Metody rozszerzające o tej samej nazwie w klasach materiałów, które teraz dziedziczą po sobie, powodują konflikt. Jeśli metody są identyczne, należy usunąć metodę z podrzędnej instancji materiału. Jeśli się różnią, należy zmienić ich nazwy. Wskazówka: Warto zmienić nazwy wszystkich tych metod, aby każde miejsce ich wywołania zostało zgłoszone jako błąd kompilacji, a następnie poprawić klasy podrzędne przed klasami nadrzędnymi.
Usunięto stałe kamery Scene Graph
GlobalModifierPositioniVisualModifierPosition. Jeśli twój kod ich używa, dodaj modyfikatory kamery doPreCameraModifiers,PostCameraModifierslubPresentationCameraModifiers.Zmieniono nazwę właściwości FieldOfViewDegrees w komponencie perspective_camera_component grafu sceny na FieldOfView oraz jednostkę miary ze stopni na radiany. Jeśli kod wykorzystuje perspective_camera_component i odwołuje się do FieldOfViewDegrees, należy zamiast tego użyć FieldOfView.
Nie trzeba już określać poziomu dostępu dla modułów Verse zawierających zasoby odzwierciedlane. Więcej identyfikatorów jest teraz widocznych w całym projekcie, dlatego niektóre nazwy mogą powodować konflikty. Jeśli tak, dodaj kwalifikatory lub dostosuj ścieżki
using.Dodanie komponentu, który już należy do innej jednostki, powoduje teraz zarejestrowanie ostrzeżenia. W przyszłej wersji takie działanie będzie powodować błąd. Najpierw należy usunąć komponent z jednostki, do której należy, albo utworzyć nowy.
Aktualizacje i poprawki MCP
Nowość:
Dodano zestaw narzędzi do przechwytywania sceny.
Dodano zestaw narzędzi atlasu krzywych.
Dodano zestaw narzędzi stanu gracza.
Dodano zestaw narzędzi gotowców.
Dodano narzędzie Exec Python umożliwiające bezpośrednie wykonywanie skryptów Python oraz zwiększono szybkość działania zestawu narzędzi do programowego wywoływania narzędzi.
Dodano elementy sterujące uruchamianiem i zatrzymywaniem MCP do ustawień edytora.
Dodano przycisk konfiguracji w ustawieniach edytora dla obsługiwanych modeli.
Dodano obsługę instrukcji serwera MCP, dzięki czemu agenci mogą korzystać ze wspólnych wytycznych udostępnianych przez serwer różnym narzędziom.
Dodano obsługę obrazów zwracanych przez narzędzia MCP.
Przeniesiono ustawienia MCP z ustawień projektu do ustawień edytora, dzięki czemu nie trzeba już włączać MCP dla każdego projektu.
Dodano obsługę klasycznych urządzeń do DeviceToolset. Teraz możecie wyświetlać i ustawiać opcje klasycznych urządzeń, które są filtrowane i weryfikowane w taki sam sposób jak w panelu szczegółów.
Poprawki:
Usunięto błąd, przez który MCP nie uruchamiał się domyślnie po uruchomieniu edytora.
Aktualizacje i poprawki Lore
Nowość:
Można teraz porównywać różnice między plikami .uefnproject, .verse, i .uplugin w VS Code.
Usunięto przypomnienie o konieczności meldowania się co 24 godziny, ponieważ kopie zapasowe pracy są teraz tworzone automatycznie.
Zmieniono nazwę rozszerzenia VS Code z URC.vsix na Lore.vsix.
Poprawki:
Usunięto błąd, przez który po awarii edytora system kontroli wersji nie mógł połączyć się z żadnym projektem z powodu uszkodzonych danych na serwerze.
Usunięto błąd, przez który uszkodzone dane w obszarze przejściowym mogły powodować awarię pojedynczego repozytorium z komunikatem „NotFound”.
Usunięto błąd, przez który opcja Przywróć jako najnowsze nie pojawiała się po synchronizacji ze starszą rewizją.
Usunięto błąd, przez który przeglądarka projektów usuwała w pełni pobrany projekt, jeśli nie udało się go otworzyć po synchronizacji.
Usunięto błąd, przez który zapisanie Blueprintu mogło powodować zawieszenie edytora nawet na 40 minut podczas odświeżania stanu plików w bardzo dużych projektach.
Usunięto błąd, przez który opcja „Przywróć wszystko” pozostawała wyłączona, gdy pliki były wyprowadzone, ale nie zostały zmodyfikowane.
Usunięto błąd, przez który opcje kontroli wersji były ignorowane po usunięciu zasobów.
Usunięto błąd umożliwiający używanie niedozwolonych znaków w nazwach gałęzi.
Eksplorator gałęzi
Nowość:
Dodano oś czasu nad grafem wersji, dzięki czemu można sprawdzić, kiedy utworzono poszczególne wersje. Jest ona aktualizowana na żywo w miarę pojawiania się nowych wersji.
Graf gałęzi pokazuje teraz, kiedy projekt znajduje się w stanie cofnięcia do wcześniejszej wersji.
Ujawnione zarchiwizowane gałęzie pozostają teraz zsynchronizowane przy każdym uruchomieniu edytora.
Graf gałęzi i lista gałęzi udostępniają teraz te same operacje na gałęziach.
Graf gałęzi ładuje się teraz szybciej przy pierwszym otwarciu.
Podpowiedzi są teraz stylistycznie zgodne z pozostałą częścią UEFN.
Poprawki:
Usunięto błąd, przez który scalenia lub łączące je linie nie pojawiały się na grafie gałęzi.
Usunięto błąd, przez który po scaleniu zmian z gałęziami podrzędnymi pod gałęzią główną pojawiały się puste gałęzie podrzędne.
Usunięto błąd, przez który scalenie przywróconej gałęzi nieprawidłowo oznaczało wersje gałęzi docelowej jako zastąpione.
Usunięto błąd, przez który wersje utworzone w stanie cofnięcia do wcześniejszej wersji były wyświetlane jako scalenia.
Usunięto błąd, przez który odświeżenie grafu ukrywało ujawnioną zarchiwizowaną gałąź, mimo że nadal była widoczna w widoku drzewa.
Usunięto błąd, przez który można było archiwizować gałęzie z oczekującymi zmianami.
Usunięto błąd, przez który opcja „Scal z” pozostawała aktywna po zarchiwizowaniu wszystkich gałęzi z wyjątkiem głównej.
Usunięto błąd powodujący nieprawidłowe wyświetlanie etykiety gałęzi osobistej.
Usunięto błąd powodujący obcinanie okienka szczegółów wersji przy prawej krawędzi grafu.
Usunięto błąd powodujący migotanie podpowiedzi ikony archiwum w niektórych miejscach okna.
Usunięto błąd, przez który elementy sterujące powiększeniem były wyłączane po utworzeniu nowej gałęzi.
Usunięto błąd, przez który kombinacja Ctrl + kółko myszy powiększała elementy sterujące grafu zamiast samego grafu.
Usunięto błąd, przez który nie można było otworzyć Eksploratora gałęzi z edytorów zasobów.
Historia gałęzi
Nowość:
Do menu kliknięcia prawym przyciskiem myszy dodano opcje Porównaj z obszarem roboczym i Porównaj z poprzednią rewizją.
Poprawki:
Usunięto błąd, przez który okno dialogowe Zmiany wprowadzone po cofnięciu do starszej rewizji nie pojawiało się po wybraniu opcji Synchronizuj najnowsze bezpośrednio po zapisaniu.
Usunięto błąd, przez który opcja „Ustaw fokus na tym aktorze” nie działała w przypadku zmodyfikowanych Blueprintów.