Choose your operating system:
Windows
macOS
Linux
여기서는 블루프린트 로 싱글 플레이어 게임의 플레이어 캐릭터를 리스폰하는 법을 배워보겠습니다.
플레이어 리스폰 (싱글 플레이어)
싱글 플레이어 게임에서 플레이어가 죽으면 리스폰하는 데 필요한 절차는 다음과 같습니다.
여기서는 블루프린트 삼인칭 템플릿 프로젝트를 기반으로 하지만, 어떤 프로젝트를 사용해도 됩니다.
-
프로젝트 안에서, 게임 모드 블루프린트를 엽니다 ( ThirdPersonGameMode 블루프린트를 사용합니다).
-
그래프에 우클릭 한 다음 Event Begin Play 노드를 추가한 뒤, 다시 우클릭 하고 Get Player Character 노드를 추가합니다.
-
Get Player Character 노드의 Return Value 를 끌어놓고 Cast To ThirdPersonCharacter 노드를 추가한 다음 노드를 연결합니다.
플레이어 캐릭터 블루프린트, 여기서는 ThirdPersonCharacter 로 Cast To (형변환)하고 싶습니다. 그러면 그 블루프린트에 접근 및 On Destroyed 이벤트를 사용하여 플레이어 캐릭터의 사망 시점을 알아내고, 새 플레이어 캐릭터를 스폰시킬 수 있습니다.
-
As ThirdPersonCharacter C 핀을 끌어놓고 Assign On Destroyed 노드를 추가합니다.
-
새로 추가된 OnDestroyed_Event 노드에서 Delay 노드를 추가하고 리스폰 지연 시간을 설정합니다 (옵션).
여기서는 한 이벤트를 다른 블루프린트의 이벤트로 바인딩하고 있습니다. 이를 통해 다른 블루프린트의 이벤트 ( ThirdPersonCharacter 의 OnDestroy Event)가 발생하면 이 블루프린트의 이벤트를 발동시킬 수 있습니다. 이를 일컬어 Event Dispatcher (이벤트 디스패처)라 하며, 레벨 블루프린트 와의 통신을 통해 월드에 이벤트가 발생했음을 알리는 데도 사용 가능합니다.
자세한 정보는 이벤트 디스패처 문서를 참고하세요.
-
Delay 노드를 (추가했다면) 끌어놓고 SpawnActorFromClass 노드를 추가한 뒤 Class 드롭다운을 ThirdPersonCharacter 로 설정합니다.
-
트랜스폼 변수를 새로 만들고 Spawn Transform 이라 한 뒤, Spawn Actor 노드의 Spawn Transform 에 연결합니다.
-
그래프에 우클릭 한 다음 Possess 노드를 추가합니다.
컨텍스트에 따라 옵션 체크를 해제해야 메뉴에 노드가 나타날 수 있습니다.
-
Spawn Actor 에서 Return Value 를 Possess 노드의 In Pawn 에 연결한 다음 실행 선을 연결합니다.
-
Possess 노드의 Target 핀을 끌어놓고 Get Player Controller 노드를 추가합니다.
-
Event Begin Play 노드 근처에서, 그래프에 우클릭 한 다음 Custom Event 를 추가하고 이름을 Respawn 이라 합니다.
컨텍스트에 따라 옵션 체크를 해제해야 메뉴에 노드가 나타날 수 있습니다.
-
커스텀 이벤트를 Cast To ThirdPersonCharacter 노드에 연결합니다.
-
Possess 노드를 끌어놓고 Respawn 이벤트를 호출, 전체 그래프 모습은 아래와 비슷할 것입니다.
이미지를 클릭하면 원래 크기로 봅니다.
-
컴파일 , 저장 후 블루프린트를 닫습니다.
-
ThirdPersonCharacter 블루프린트를 열고, 그래프에 우클릭 한 다음 Event Begin Play 노드를 추가합니다.
-
다시 우클릭 한 다음 Get Game Mode 노드를 추가한 뒤, 거기서 끌어놓고 Cast To MyGame (아니면 별도의 게임 모드)를 추가합니다.
-
As My Game C 핀을 끌어놓고 Set Spawn Transform 노드를 추가합니다.
-
그래프에 우클릭 한 다음 Get Actor Transform 노드를 추가한 뒤 Set Spawn Transform 노드에 연결합니다.
그러면 게임 시작시 플레이어 위치를 구해 리스폰 위치로 설정합니다.
-
그래프에 우클릭 한 뒤 F Key Event 를 추가하고, Pressed 핀에서 Destroy Actor 노드를 연결합니다.
이는 테스팅 목적으로, F 키를 누르면 킬(액터를 Destory, 소멸)합니다. 보통은 플레이어가 일정량의 생명력을 잃거나 보통 플레이어를 사망에 이르게 할만한 이벤트가 생기면 Destroy Actor 노드를 호출하게 됩니다.
컴파일 후 에디터에서 플레이하면, F 키를 누를 때마다 잠깐 사라진 다음 시작 위치에서 리스폰될 것입니다.