Kamery mają bardzo ważne znaczenie dla ogólnego wyglądu i wrażeń z rozgrywki. Kamery z perspektywy trzeciej osoby mogą dać graczom większe poczucie przestrzeni, podczas gdy kamery z perspektywy pierwszej osoby dają graczom bliższy wgląd w świat gry. Przełączanie między kamerami podczas rozgrywki może wywoływać różne odczucia, a przechodzenie między wieloma kamerami może znacznie urozmaicić rozgrywkę. Możesz na przykład stworzyć zabawną platformówkę, wykorzystując stałą kamerę do stworzenia sekcji z przewijaniem bocznym.
W UEFN możesz użyć Verse do obsługi zmian kamery. Używając urządzeń do nasłuchiwania zdarzeń, możesz dodać do gracza kamerę, której widok zmieni się po wyzwoleniu zdarzenia. W tym przykładzie dodamy do gracza urządzenie kamery okrążającej na końcu filmiku. Ustawienia kamery okrążającej możesz zmodyfikować tak, by symulowała widok z perspektywy pierwszej osoby, a dodając kamerę na końcu filmiku możesz stworzyć płynne przejście z widoku z perspektywy trzeciej do pierwszej osoby. Dla urozmaicenia rozgrywki w tym przykładzie gracz chwyta broń i wymachuje nią w kierunku drzwi, aby uruchomić filmik. Przykład ten można dostosować do własnych potrzeb, np. gracz może użyć klucza, aby naprawić uszkodzone drzwi, lub młotka, aby rozbić głaz i odkryć sekretny obszar. Koncepcje te można również zastosować w szerszym zakresie, aby stworzyć atrakcyjne momenty rozgrywki, takie jak szerokie ujęcie po wejściu do nowej strefy, przełączenie na widok z góry, gdy gracz musi rozwiązać zagadkę, lub widok pierwszoosobowy w upiornym horrorze.
Poniższy samouczek zawiera informacje na temat tworzenia urządzenia Verse, które przenosi gracza z perspektywy trzecioosobowej do pierwszoosobowej za pomocą sekwencji filmowej po otwarciu drzwi.
W tym przykładzie wykorzystano następujące funkcje języka:
Klasa: Ten przykład tworzy klasę Verse, która aktywuje filmik, gdy gracz otworzy drzwi.
Opcja: Zdarzenia z możliwością subskrybowania można przechowywać w zmiennych opcji, a następnie anulować subskrypcje tych zdarzeń.
W tym przykładzie wykorzystano następujące API:
Zdarzenia, które można subskrybować: Będziesz subskrybować zdarzenia, aby wiedzieć, kiedy gracz wejdzie do przestrzeni obok drzwi, i przyznawać graczom przedmioty, gdy wejdą w interakcję z przyciskiem.
Ustawianie poziomu
W tym przykładzie wykorzystano następujące urządzenia:
1 x urządzenie przycisku: Gdy gracz użyje przycisku, otrzyma miecz z przyznawacza przedmiotów.
1 x urządzenie przyznawacza przedmiotów: Przyznawacz przedmiotów daje graczowi miecz potrzebny do przejścia przez drzwi.
1 x urządzenie przycisku warunkowego: Wymagana broń jest ustawiona jako przedmiot kluczowy przycisku warunkowego, a więc gracz nie może przejść przez drzwi, jeśli nie posiada wymaganego miecza.
1 x urządzenie aktywatora sterowania: Gdy gracz atakuje, urządzenie otwiera drzwi, nasłuchując akcji wejściowej ognia. Dzieje się tak tylko wtedy, gdy gracz znajduje się wewnątrz urządzenia przestrzeni, jeśli gracz ma miecz, a drzwi nie są jeszcze otwarte.
1 x urządzenie przestrzeni: Ponieważ nie chodzi o to, aby jakikolwiek atak mieczem otworzył drzwi, urządzenie przestrzeni upewnia się, że gracz znajduje się tuż obok drzwi, aby je otworzyć.
1 x urządzenie sekwencji filmowej: Aby stworzyć płynne przejście z perspektywy trzecioosobowej do pierwszoosobowej, zostanie odtworzony filmik pokazujący otwieranie drzwi, a następnie kamera zostanie przesunięta tak, aby zrównać się z punktem widzenia gracza w perspektywie pierwszoosobowej.
1 x urządzenie kamery okrążającej: Aby utworzyć widok z perspektywy pierwszoosobowej dla gracza, użyjesz kamery okrążającej umieszczonej wewnątrz klatki piersiowej postaci, aby naśladować widok z perspektywy pierwszej osoby. Zmiana widoku następuje dopiero po tym, jak gracz otworzy drzwi.
1 x urządzenie kłódki: Dzięki temu drzwi pozostają zablokowane, aby uniemożliwić graczowi ich otwarcie przed zdobyciem wymaganej broni.
1 x urządzenie wskaźnika na mapie: Wyświetla lokalizację drzwi na minimapie, gdy gracz podnosi broń.
Postępuj zgodnie z poniższą instrukcją, aby skonfigurować poziom:
Przyznawacz przedmiotów i przycisk
Aby przyznać graczowi broń potrzebną do otwarcia drzwi, użyj urządzenia przyznawacza przedmiotów i przycisku. Gdy gracz wejdzie w interakcję z przyciskiem, przyznawacz przedmiotów przyzna mu broń. Postępuj zgodnie z poniższą instrukcją, aby dodać te elementy:
Dodaj jedno urządzenie przyznawacza przedmiotów do poziomu.
Wybierz przyznawacz przedmiotów w Outlinerze. W panelu Szczegóły w sekcji Opcje użytkownika ustaw następujące wartości:
Opcja WARTOŚĆ Objaśnienie Definicja przedmiotu
Miecz
To broń, za pomocą której gracz otwiera drzwi.
Wyposaż przyznany przedmiot
Tak
W tym przykładzie gracz podnosi broń i natychmiast się w nią wyposaża.
Dodaj jedno urządzenie przycisku do poziomu.
Wybierz przycisk w Outlinerze. W panelu Szczegóły w sekcji Opcje użytkownika ustaw następujące wartości:
Opcja WARTOŚĆ Objaśnienie Tekst interakcji
"Podnieś"
Jest to tekst, który nakłania gracza do interakcji z przyciskiem.
Liczba aktywacji
ZA
W tym przykładzie gracz może podnieść broń tylko raz.
Aktywacja sterowania
Aby wiedzieć, kiedy gracz wykona zamach bronią, można użyć aktywatora sterowania, który nasłuchuje określonego działania. Gdy gracz wykona zamach bronią, aktywuje się urządzenie aktywatora sterowania. Postępuj zgodnie z poniższą instrukcją, aby dodać aktywator sterowania:
Dodaj jedno urządzenie aktywatora sterowania do poziomu.
Wybierz urządzenie aktywatora sterowania w Outlinerze. W panelu Szczegóły w sekcji Opcje użytkownika ustaw następujące wartości:
Opcja WARTOŚĆ Objaśnienie Typ sterowania
Akcje standardowe
Ogień jest akcją standardową, która jest tym, czego aktywator sterowania musi nasłuchiwać, aby wiedzieć, kiedy gracz wykona zamach bronią.
Sterowanie standardowe
Strzał
Ogień jest akcją, której aktywator sterowania musi nasłuchiwać, aby wiedzieć, kiedy gracz wykona zamach bronią.
Pokaż w interfejsie
Nie
Nie musisz pokazywać tej akcji w interfejsie.
Przestrzeń
Aby upewnić się, że gracz musi znajdować się obok drzwi, aby je otworzyć, możesz użyć urządzenia przestrzeni w pobliżu drzwi, aby sprawdzić, czy gracz jest wewnątrz. Postępuj zgodnie z poniższą instrukcją, aby dodać urządzenie przestrzeni.
Dodaj drzwi gdzieś w swoim poziomie. Są to drzwi, które gracz ma otworzyć za pomocą broni.
Dodaj jedno urządzenie przestrzeni do poziomu. To urządzenie musi zachodzić na niewielki obszar przed drzwiami lub obszar, który gracz ma zaatakować.
Zmień rozmiar urządzenia przestrzeni, modyfikując jego Gizmo przekształceń, aby dopasować obszar, w którym gracz ma się znajdować podczas ataku. Aktywator sterowania będzie nasłuchiwać zdarzenia ognia tylko wtedy, gdy gracz znajduje się w tej przestrzeni, więc upewnij się, że odpowiada to potrzebom rozgrywki.
Zamknij na klucz
Aby upewnić się, że gracz nie może otworzyć drzwi przed zdobyciem broni, można zablokować drzwi za pomocą urządzenia kłódki. Postępuj zgodnie z poniższą instrukcją, aby dodać urządzenie kłódki:
Dodaj urządzenie kłódki przymocowane do drzwi.
Wybierz kłódkę w Outlinerze. W Opcjach użytkownika w panelu Szczegóły ustaw Widoczność podczas gry na false.
znacznik na mapie
Gdy miejsce, do którego gracz musi dotrzeć, znajduje się daleko od miejsca, w którym zdobywa broń, warto pokazać graczom, gdzie mają się udać, za pomocą znacznika na mapie. Wyświetla on obraz na mapie i minimapie oraz może aktywować impuls celu, który kieruje graczy bezpośrednio do drzwi. Postępuj zgodnie z poniższą instrukcją, aby dodać znacznik na mapie:
Do poziomu dodaj urządzenie znacznika na mapie, ukryte pod drzwiami.
Wybierz znacznik na mapie w Outlinerze. W Opcjach użytkownika w panelu Szczegóły:
Opcja WARTOŚĆ Objaśnienie Włączono na początku gry
false
Znacznik na mapie jest włączany dopiero po podniesieniu broni przez gracza.
Mała ikona
Wybierz ikonę
Wybierz ikonę, która ma być wyświetlana na minimapie.
Duża ikona
Wybierz ikonę
Wybierz ikonę, która ma być wyświetlana na mapie.
Warunkowy przycisk przedmiotu
Aby upewnić się, że gracz używa właściwej broni do otwarcia drzwi, możesz użyć warunkowego przycisku przedmiotu, aby sprawdzić broń, którą trzyma podczas wykonywania zamachu. Postępuj zgodnie z poniższą instrukcją, aby dodać warunkowy przycisk przedmiotu:
Dodaj jedno urządzenie warunkowego przycisku przedmiotu do poziomu.
Wybierz warunkowy przycisk przedmiotu w Outlinerze. W panelu Szczegóły w sekcji Opcje użytkownika ustaw następujące wartości:
Opcja WARTOŚĆ Objaśnienie Zużywaj przedmioty kluczowe
Nie
Nie chcemy, aby broń gracza została zużyta po otwarciu drzwi.
Definicja przedmiotu kluczowego 1
Broń
To broń, której gracz potrzebuje do otwarcia drzwi.
Kamera okrążająca
Aby zasymulować widok z perspektywy pierwszej osoby, można użyć kamery okrążającej do zmiany perspektywy gracza. Postępuj zgodnie z poniższą instrukcją, aby dodać kamerę okrążającą:
Dodaj jedno urządzenie kamery okrążającej do poziomu.
Wybierz przycisk kamery okrążającej w Outlinerze. W panelu Szczegóły w sekcji Kamera ustaw następujące wartości:
Opcja WARTOŚĆ Objaśnienie Odległość
0.0 cm
Parametry wymagane dla widoku z perspektywy pierwszej osoby
Przesunięcie X
27.0 cm
Parametry wymagane dla widoku z perspektywy pierwszej osoby
Przesunięcie Y
0.0 cm
Parametry wymagane dla widoku z perspektywy pierwszej osoby
Przesunięcie Z
76.0 cm
Parametry wymagane dla widoku z perspektywy pierwszej osoby
Szybkość w poziomie
0.0 cm/s
Parametry wymagane dla widoku z perspektywy pierwszej osoby
W panelu Szczegóły w sekcji Przejście ustaw następujące wartości:
Opcja WARTOŚĆ Objaśnienie Czas przejścia do kamery
0.0 s
Parametry wymagane dla widoku z perspektywy pierwszej osoby
Czas przejścia z kamery
0.1 s
Parametry wymagane dla widoku z perspektywy pierwszej osoby
Typ przejścia z kamery
Powoli: koniec
Parametry wymagane dla widoku z perspektywy pierwszej osoby
Sekwencja filmowa
Aby uruchomić sekwencję filmową podczas otwierania drzwi, potrzebne jest urządzenie sekwencji filmowej, aby ją odtworzyć. Postępuj zgodnie z poniższą instrukcją, aby dodać sekwencję filmową:
Dodaj urządzenie sekwencji filmowej do poziomu.
W Przeglądarce zawartości utwórz sekwencję filmową, której chcesz użyć w swoim poziomie. Sekwencja filmowa wykorzystuje ustawioną wcześniej kamerę okrążającą i powinna pokazywać otwierające się drzwi podczas przechodzenia kamery z kąta początkowego do widoku pierwszoosobowego. Więcej informacji na temat tworzenia własnych sekwencji filmowych można znaleźć w artykule Tworzenie filmików i przerywników filmowych.
W Outlinerze wybierz sekwencję filmową. Następnie w Opcjach użytkownika w panelu Szczegóły przypisz Sekwencję do sekwencji filmowej.
Kliknij obraz, aby go powiększyć.
Filmik z otwieraniem drzwi przy użyciu Verse
Aby obsługiwać logikę odtwarzania filmiku i otwierania drzwi, użyjesz urządzenia Verse. Urządzenie nasłuchuje, czy gracz wykonuje zamach bronią wewnątrz urządzenia przestrzeni, a następnie odtwarza sekwencję filmową, otwiera drzwi i przenosi gracza do widoku pierwszoosobowego.
Ustawianie pól
Aby utworzyć urządzenie Verse:
Utwórz nowe urządzenie Verse za pomocą eksploratora Verse i nadaj mu nazwę
door_open_cinematic_manager.Nad definicją klasy
door_open_cinematic_managerdodaj kanał dziennika, aby zapisywać komunikaty charakterystyczne dla tego urządzenia. Następnie do definicji klasy dodaj rejestrator, który będzie używany z kanałem dziennika.Versedoor_open_channel := class(log_channel){} # A Verse-authored creative device that can be placed in a level door_open_cinematic_manager := class(creative_device): Logger:log = log{Channel := door_open_channel}Dodaj następujące pola do definicji klasy
door_open_cinematic_manager:Edytowalne urządzenie przestrzeni o nazwie
DoorVolume. Jest to przestrzeń, wewnątrz której musi znajdować się gracz, aby otworzyć drzwi.Verse# The volume the player needs to be inside of to open the door. @editable DoorVolume:volume_device = volume_device{}Edytowalne urządzenie aktywatora sterowania o nazwie
FireTrigger. Nasłuchuje ono gracza używającego broni wewnątrzDoorVolume.Verse# The input trigger that listens for the player swinging their weapon # when inside the DoorVolume. @editable FireTrigger:input_trigger_device = input_trigger_device{}Edytowalne urządzenie przycisku warunkowego o nazwie
ConditionalButton. Sprawdza, czy gracz posiada odpowiednią broń, gdy znajduje się wewnątrz urządzenia przestrzeni.Verse# The Conditional Item Button that checks that the player has the correct weapon. @editable ConditionalButton:conditional_button_device = conditional_button_device{}Edytowalne urządzenie kłódki o nazwie
DoorLock. Powoduje, że drzwi są zablokowane, jeśli gracz nie ma odpowiedniej broni.Verse# The lock device that prevents the door from being opened. @editable Door:lock_device = lock_device{}Edytowalne urządzenie sekwencji filmowej o nazwie
CinematicSequence. Odtwarza filmik prowadzący do przejścia kamery podczas otwierania drzwi.Verse# The cinematic sequence device that plays the cinematic when opening the door. @editable CinematicSequence:cinematic_sequence_device = cinematic_sequence_device{}Edytowalne urządzenie znacznika na mapie o nazwie
ObjectiveMarker. Pokazuje lokalizację drzwi na minimapie po tym, jak gracz podniesie broń.Verse# The map indicator device that shows the location of the door. @editable ObjectiveMarker:map_indicator_device = map_indicator_device{}Edytowalne urządzenie przyznawacza przedmiotów o nazwie
ItemGranter. Przyznaje graczowi broń potrzebną do przejścia dalej.Verse# The item granter device that grants the player the weapon they need. @editable ItemGranter:item_granter_device = item_granter_device{}Edytowalne urządzenie przycisku o nazwie
ItemGrantButton. Aktywuje urządzenieItemGranter, które przyznaje graczowi potrzebną broń.Verse# The button that activates the ItemGranter granter. @editable ItemGrantButton:button_device = button_device{}Edytowalne urządzenie kamery okrążającej o nazwie
FPSCamera. Symuluje widok z perspektywy pierwszej osoby i jest dodawane do gracza po zakończeniu filmiku.Verse# The orbit camera that simulates a first-person view. @editable FPSCamera:gameplay_camera_orbit_device = gameplay_camera_orbit_device{}Zmienna
logico nazwieIsDoorOpen. To pole śledzi, czy drzwi są już otwarte, tak aby sekwencja nie była odtwarzana, jeśli są otwarte.Verse# A variable that tracks whether the door is already open. var IsDoorOpen:logic = falseZmienna
optioncancelableo nazwieFireSubscription. Przechowuje subskrypcję doFireTriggerPressedEvent. Sekwencja filmowa powinna uruchamiać się tylko wtedy, gdy gracz znajduje się tuż obok drzwi. Ta subskrypcja, którą można anulować, zapewnia wyrejestrowanie (Unregister) gracza zFireTrigger, jeśli zbytnio się oddali.Verse# A cancelable subscription to the FireTrigger device. var FireSubscription:?cancelable = false
Odtwarzanie filmiku
Kiedy drzwi się otwierają, pojawia się filmik, który pokazuje otwarcie drzwi i przejście z perspektywy trzeciej do pierwszej osoby. Postępuj zgodnie z poniższą instrukcją, aby aktywować filmik po otwarciu drzwi przez gracza.
Dodaj nową metodę
PlayCinematic()do definicji klasydoor_open_cinematic_manager. Dodaj nową metodęPlayCinematic()do definicji klasydoor_open_cinematic_manager. Ta funkcja pobiera gracza, który otwiera drzwi. Następnie odtwarza filmik i otwiera drzwi za pomocą urządzenia kłódki.Verse# Plays a cinematic and unlocks the door. PlayCinematic(Agent:agent):void=W metodzie
PlayCinematic()najpierw odtwórz sekwencję filmowąCinematicSequence, następnie odblokuj i otwórz drzwi przy użyciu kolejnoUnlock()iOpen().Verse# Plays a cinematic and unlocks the door. PlayCinematic(Agent:agent)<suspends>:void= Logger.Print("Player is holding item, playing cinematic...") CinematicSequence.Play() # Unlock the door, then open it. Door.Unlock(Agent) Door.Open(Agent)Na koniec zmień widok gracza z trzecioosobowego na pierwszoosobowy, dodając do niego kamerę okrążającą za pomocą funkcji
AddTo(), a następnie wyłącz znacznik celu. Gotowa funkcjaPlayCinematic()powinna wyglądać następująco:Verse# Plays a cinematic and unlocks the door. PlayCinematic(Agent:agent)<suspends>:void= Logger.Print("Player is holding item, playing cinematic...") CinematicSequence.Play() # Unlock the door, then open it. Door.Unlock(Agent) Door.Open(Agent) set IsDoorOpen = trueFilmik powinien być odtwarzany tylko wtedy, gdy gracz trzyma wymagany przedmiot, i nie powinien być odtwarzany ponownie po otwarciu drzwi. Aby obsłużyć tę logikę, dodaj nową metodę
CheckCinematic()do definicji klasydoor_open_cinematic_manager. Ta funkcja pobiera gracza wewnątrzDoorVolumei sprawdza, czy posiada on wymagane przedmioty.Verse# Check if the player has the required item and the door isn't already open. CheckCinematic(Agent:agent):void=W
CheckCinematic()sprawdź, czy gracz trzyma przedmiot zarejestrowany wConditionalButtonprzy użyciuIsHoldingItem[], i sprawdź, czyIsDoorOpenma wartość false, aby upewnić się, że drzwi nie są już odblokowane. Jeśli tak, wykonajspawn{}funkcjiPlayCinematic(), przekazując gracza otwierającego drzwi. Gotowa funkcjaCheckCinematic()powinna wyglądać następująco:Verse# Check if the player has the required item and the door isn't already open. CheckCinematic(Agent:agent):void= if: ConditionalButton.IsHoldingItem[Agent] and not IsDoorOpen? then: spawn{PlayCinematic(Agent)}
Śledzenie gracza i przyznawanie przedmiotów
Ponieważ gracz musi wykonać zamach bronią wewnątrz DoorVolume, aby otworzyć drzwi, urządzenie aktywatora sterowania musi nasłuchiwać tego zdarzenia. Postępuj zgodnie z poniższą instrukcją, aby aktywator sterowania nasłuchiwał, kiedy gracz wymachuje bronią.
Dodaj nową metodę
OnPlayerEntersVolume()do definicji klasydoor_open_cinematic_manager. Ta funkcja pobiera agenta i rejestruje go wFireTrigger, gdy wejdzie on doDoorVolume.Verse# Registers the Agent with the FireTrigger when they enter the DoorVolume. OnPlayerEntersVolume(Agent:agent):void= Logger.Print("Agent entered DoorVolume")W
OnPlayerEntersVolume()zarejestruj agenta za pomocąFireTrigger, wywołującRegister(). Następnie ustawFireSubscriptionna rezultat subskrypcjiFireTrigger.PressedEventdoPlayCinematic(). Gotowa funkcjaOnPlayerEntersVolume()powinna wyglądać następująco:Verse# Registers the Agent with the FireTrigger when they enter the DoorVolume. OnPlayerEntersVolume(Agent:agent):void= Logger.Print("Agent entered DoorVolume") FireTrigger.Register(Agent) # Subscribe the PressedEvent to PlayCinematic, and store that subscription in FireSubscrition. set FireSubscription = option{(FireTrigger.PressedEvent.Subscribe(PlayCinematic))}Gdy gracz opuszcza
DoorVolume, musisz przestać śledzić subskrypcję dlaFireTrigger.PressedEvent, ponieważ gracz powinien być w stanie aktywować filmik tylko wtedy, gdy nie znajduje się wewnątrz przestrzeni. Aby to obsłużyć, dodaj nową metodęOnPlayerExitsVolume()do definicji klasydoor_open_cinematic_manager.Verse# Unregister the Agent with the FireTrigger when they leave the DoorVolume. OnPlayerExitsVolume(Agent:agent):void=W
OnPlayerExitsVolume()najpierw wyrejestruj (Unregister()) agenta za pomocąFireTrigger. Następnie pobierz subskrypcję wewnątrzFireSubscriptioni anuluj ją. Gotowa metodaOnPlayerExitsVolume()powinna wyglądać następująco:Verse# Unregister the Agent with the FireTrigger when they leave the DoorVolume. OnPlayerExitsVolume(Agent:agent):void= Logger.Print("Agent exited DoorVolume") FireTrigger.Unregister(Agent) # Cancel the subscription to the FireSubscription. if (SubscriptionToCancel := FireSubscription?): SubscriptionToCancel.Cancel()Gdy gracz wejdzie w interakcję z przyciskiem
ItemButton, otrzyma broń, której potrzebuje, aby przejść dalej. Na minimapie pojawia się również znacznik celu, który wskazuje drogę do drzwi, jeśli jeszcze ich nie znalazł. Aby to obsłużyć, dodaj nową metodęGrantItem(), która przyjmujeagentdo definicji klasydoor_open_cinematic_manager. WewnątrzGrantItem()wywołajGrantItemna agencie, który został przekazany, i włącz znacznik celu. Gotowa metodaGrantItem()powinna wyglądać następująco:Verse# Grants the Agent an item when they interact with the ItemGrantButton # and enables the ObjectiveMarker. GrantItem(Agent:agent):void= ItemGranter.GrantItem(Agent) ObjectiveMarker.Enable()
Łączenie wszystkiego razem
Możesz teraz zasubskrybować każde zdarzenie do powiązanej z nim funkcji i przetestować swój kod w grze.
W
OnBegin()zasubskrybujItemGrantButton.InteractedWithEventdo funkcjiGrantItem(). Następnie zasubskrybujDoorVolume.AgentEntersEventiDoorVolume.AgentExitsEventdo ich odpowiednich funkcji. Otrzymana funkcjaOnBegin()powinna wyglądać następująco:Verse# Runs when the device is started in a running game OnBegin<override>()<suspends>:void= # Subscribe each event to its associated function. ItemGrantButton.InteractedWithEvent.Subscribe(GrantItem) DoorVolume.AgentEntersEvent.Subscribe(OnPlayerEntersVolume) DoorVolume.AgentExitsEvent.Subscribe(OnPlayerExitsVolume)Zapisz kod i go skompiluj.
W UEFN wybierz urządzenie DoorOpenCinematicManager w swoim poziomie. W Outlinerze przypisz każde edytowalne odwołanie do urządzenia w poziomie.
Kliknij obraz, aby go powiększyć.
Na pasku narzędzi UEFN kliknij Uruchom sesję, aby przetestować poziom w grze. Podczas testu poziomu gracz po wejściu w interakcję z przyciskiem przedmiotu powinien otrzymać potrzebną broń, a do minimapy gracza powinien zostać dodany znacznik celu. Gdy gracz użyje broni wewnątrz przestrzeni drzwi, powinien zostać odtworzony filmik, drzwi powinny się otworzyć, a widok powinien zmienić się na pierwszoosobowy.
Gotowy kod
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# See https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse for how to create a verse device.
door_open_log := class(log_channel){}
door_open_cinematic_manager := class(creative_device):
Logger:log = log{Channel := door_open_log}
Praca własna
Po ukończeniu tego przewodnika wiesz już, jak używać Verse do odtwarzania filmiku, gdy gracz otwiera drzwi, oraz jak przejść z kamery trzecioosobowej do pierwszoosobowej.
Wykorzystując zdobytą wiedzę, spróbuj wykonać następujące czynności:
Czy potrafisz wykonać inne rodzaje przejść kamery, takie jak przejście do widoku z przewijaniem bocznym?
A co ze specjalnym przyciskiem do zmiany kąta kamery lub zaprojektowaniem poziomu, który wymaga wielu kątów kamery, aby móc przejść dalej?
Czy potrafisz użyć aktywatorów sterowania do nakładania negatywnych kar, takich jak wyzwanie dla graczy polegające na przejściu sekcji bez skakania i odtworzenie filmiku, jeśli im się nie uda?