Choose your operating system:
Windows
macOS
Linux
이번 단계에서는, 플레이어가 발사하는 발사체에 바위가 맞으면 파괴될 수 있도록 만들겠습니다. 그러기 위해 또다른 Bind Event 를 사용하지만, 이벤트 디스패처에는 바인딩하지 않도록 하겠습니다. 대신 바위의 콜리전이 무언가에 맞으면 발동되는, 상황에 완벽히 들어맞는 OnHit 라는 콜리전 이벤트를 사용하겠습니다.
그러면 폭파시켜 봅시다!
-
FirstPersonCharacter 블루프린트 안으로 돌아와서, 바위를 스폰시킨 Spawn Actor 노드를 찾습니다.
-
Spawn Actor 노드의 Return Value 를 끌어놓은 다음 Assign On Actor Hit 를 선택합니다.
-
Spawn Actor 와 Bind Event 를 연결합니다.
-
Spawn Actor 의 Return Value 를 끌어놓고, Apply Radius Damage (Destructible) 을 선택합니다.
Apply Damage 를 사용할 수도 있지만, 추가로 입력할 파라미터가 있을 수 있습니다. 단순함을 위해 Radius Damage 를 사용하도록 하겠습니다.
-
Apply Radius Damage 노드에서 아래 보이는 각 칸에 50000 을 입력하고 Get Actor Location 노드를 연결합니다.
바위를 산산조각내기에 충분한 대미지를 입힐 수 있을 것입니다.
-
Apply Radius Damage 노드 뒤에 Set Score 노드를 추가합니다.
-
Control 키를 누른 채 Score 변수를 끌어놓은 다음 (1 로 설정된) Int + Int 노드에 연결하고, 다음과 같이 연결합니다.
이렇게 하면 현재 점수를 구해온 다음 바위에 맞을 때마다 1 씩 더해줍니다.
-
Bind Event 와 Set Score 노드를 3 초로 설정된 Delay 노드에 연결합니다.
바위가 (맞았든 안맞았든) 스폰된 지 3 초가 지나면, 파괴시키도록 합니다.
-
Delay 뒤에 Destroy Actor 노드를 추가합니다.
Spawn Actor 노드의 Return Value 를 끌어 Destroy Actor 노드의 Target 에 물려줍니다.
-
Destroy Actor 뒤에 Set IsActive 변수 노드를 추가하고 체크해제 상태로 놔둡니다.
여기서는 스폰된 바위가 더이상 활성 상태이지 않아 (pulls 횟수가 남아있다면) 플레이어가 또 하나 스폰시킬 수 있는 상태임을 말합니다.
핵심 게임플레이 구성이 완료되었으니, 이제 에디터에서 플레이해 보면 레벨 임의 스폰 지점에서 바위가 스폰되어 총으로 쏴서 파괴시킬 수 있는 것을 볼 수 있습니다. 다음 단계에서는 HUD 와 통신하여 캐릭터 블루프린트의 값에 따라 표시되는 값을 업데이트하도록 하겠습니다.