Per realizzare una scena di apertura in cui il giocatore è coinvolto nella cutscene, è necessario teletrasportare il giocatore nel seminterrato al termine della cutscene di apertura. A tale scopo, utilizzerai lo snippet di codice riportato di seguito:
AllPlayers := GetPlayspace().GetPlayers()
for (Agent : AllPlayers):
Teleporter.Teleport(Agent)
Questo pezzo di codice è progettato per catturare tutti i giocatori sulla tua isola e applicare loro una funzione. In questo caso, il teletrasporto.
Teletrasporto dei giocatori dopo una cutscene
Crea un nuovo dispositivo Verse denominato cutscene_transporter utilizzando Verse Explorer e trascina il dispositivo nel livello. Fai doppio clic su cutscene_transporter.verse da Verse Explorer per aprire il suo script in Visual Studio Code.
- Sotto la definizione della classe transporter_device, aggiungi campi modificabili per i dispositivi seguenti:
-
CinemtaicSequence
-
Teletrasporto
-
PlayerSpawner
cutscene_transporter := class(creative-device):
@editable
CinematicSequence:cinematic_sequence_device = cinematic_sequence_device{}
@editable
Teleporter : teleporter_device = teleporter_device{}
@editable
PlayerSpawner : player_spawner_device = player_spawner_device{}
- Aggiungi un nuovo metodo
TeleportPlayers()
alla classeteleport_device
. Questo metodo teletrasporta ogni giocatore al teletrasporto che hai installato nel sotterraneo. Aggiungi lo snippet di codice precedente al metodoTeleportPlayers()
.
TeleportPlayers():void=
AllPlayers := GetPlayspace().GetPlayers()
for (Agent : AllPlayers):
Teleporter.Teleport(Agent)
- In
OnBegin()
, sottoscriviStoppedEvent
daCinematicSequence
al metodoTeleportPlayers()
. La sottoscrizione dell'eventoTeleportPlayers()
fa sì che il dispositivo ascoltiStoppedEvent
diCinematicSequence
, quindi esegua il metodo TeleportPlayers riportato di seguito.
OnBegin<override>()<suspends>:void=
Print("Caricamento cutscene")
CinematicSequence.StoppedEvent.Subscribe(TeleportPlayers)
- Il tuo codice
teleporter_device
ora deve essere simile al seguente:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
## Un dispositivo di Fortnite Creativo creato con Verse che può essere posizionato in un livello
log_transporter_device := class(log_channel){}
transporter_device := class(creative_device):
@editable
CinematicSequence:cinematic_sequence_device = cinematic_sequence_device{}
@editable
Teleporter : teleporter_device = teleporter_device{}
@editable
PlayerSpawner : player_spawner_device = player_spawner_device{}
## Viene eseguito quando il dispositivo è avviato in un gioco in esecuzione
OnBegin<override>()<suspends>:void=
Print("Caricamento cutscene")
CinematicSequence.StoppedEvent.Subscribe(TeleportPlayers)
TeleportPlayers():void=
AllPlayers := GetPlayspace().GetPlayers()
for (Agent : AllPlayers):
Teleporter.Teleport(Agent)
-
Salva lo script in Visual Studio Code e, in UEFN, fai clic su Compila codice Verse.
-
Posiziona il Generatore giocatore nel parcheggio del Durr Burger e il Teletrasporto deve essere posizionato nell'area di attesa del sotterraneo.
-
Seleziona teleport_device nell'Outliner e assegna i dispositivi Sequenza cinematografica, Generatore giocatore e Teletrasporto alle rispettive proprietà nel pannello Dettagli.
-
Fai clic su Invia modifiche per eseguire il playtest del codice.
Quando inizia la cutscene, il giocatore deve apparire nel parcheggio di Dürr Buger. Una volta terminata la cutscene, il giocatore deve essere teletrasportato nel seminterrato dove inizia il gioco.
Sezione successiva
Nel passaggio successivo di questo tutorial, imparerai come utilizzare i filmati sia per delineare la storia che per definirne l'umore e l'atmosfera.