플레이어가 컷신의 일부인 오프닝 씬을 생성하려면 오프닝 컷신 재생이 끝난 뒤 플레이어를 지하실로 순간이동시켜야 합니다. 이를 위해 아래 코드 스니펫을 사용합니다.
AllPlayers := GetPlayspace().GetPlayers()
for (Agent : AllPlayers):
Teleporter.Teleport(Agent)
이 코드 조각은 섬의 모든 플레이어를 선택해서 함수를 적용하기 위해 설계됐습니다. 이 경우는 순간이동입니다.
컷신 이후 플레이어 순간이동
Verse 익스플로러로 cutscene_trasnporter 라는 새 Verse 장치를 만들어 레벨로 드래그합니다. Visual Studio Code에서 스크립트를 열려면 Verse 익스플로러에서 cutscene_transporter.verse 를 더블클릭합니다.
- transporter_device 클래스 정의 아래에서 다음 장치에 대한 편집 가능 필드를 추가합니다.
-
CinemtaicSequence
-
Teleporter
-
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{}
- 새 메서드
TeleportPlayers()를teleport_device클래스에 추가합니다. 이 메서드는 지하 2층에 구성한 순간이동 장치로 각 플레이어를 순간이동시킵니다. 이전의 코드 스니펫을TeleportPlayers()메서드에 추가합니다.
TeleportPlayers():void=
AllPlayers := GetPlayspace().GetPlayers()
for (Agent : AllPlayers):
Teleporter.Teleport(Agent)
OnBegin()에서CinematicSequence의StoppedEvent로TeleportPlayers()메서드를 구독합니다.TeleportPlayers()로 이 이벤트를 구독하면 장치가CinematicSequence의StoppedEvent를 수신한 다음 아래의 TeleportPlayers 메서드를 실행합니다.
OnBegin<override>()<suspends>:void=
Print("Loading Cutscene")
CinematicSequence.StoppedEvent.Subscribe(TeleportPlayers)
- 이제
teleporter_device코드는 다음과 같게 됩니다.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
## 레벨에 배치 가능한 Verse 제작 포크리 장치
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{}
## 실행 중인 게임에서 장치 시작 시 실행
OnBegin<override>()<suspends>:void=
Print("Loading CutScene")
CinematicSequence.StoppedEvent.Subscribe(TeleportPlayers)
TeleportPlayers():void=
AllPlayers := GetPlayspace().GetPlayers()
for (Agent : AllPlayers):
Teleporter.Teleport(Agent)
-
Visual Script Code에서 스크립트를 저장하고 UEFN에서 Verse 코드 빌드 를 클릭합니다.
-
플레이어 생성 장치(Player Spawner) 를 병맛 버거(Durr Burger) 주차장에 배치합니다. 순간이동 장치 는 지하 2층의 대기 영역에 배치해야 합니다.
-
아웃라이너(Outliner) 에서 teleport_device 를 선택하고 시네마틱 시퀀스(Cinematic Sequence), 플레이어 생성 장치(Player Spawner), 순간이동 장치 장치를 디테일(Details) 패널의 각 프로퍼티에 할당합니다.
-
변경 사항 푸시(Push Changes) 를 클릭하여 코드를 플레이테스트합니다.
컷신이 시작되면 플레이어가 병맛 버거의 주차장에서 시작할 것입니다. 컷신 재생이 종료되면 플레이어가 게임이 시작되는 지하실로 순간이동할 것입니다.
다음 섹션
이 튜토리얼의 다음 단계에서는 시네마틱을 사용하여 스토리를 주도하고 분위기를 연출하는 방법에 대해 알아봅니다.