5. 바위 파괴하기

이번 섹션에서는 Bind Event 를 사용하여 OnHit 에 바인딩, 바위가 총에 맞으면 파괴되도록 하겠습니다.

Windows
MacOS
Linux

이번 단계에서는, 플레이어가 발사하는 발사체에 바위가 맞으면 파괴될 수 있도록 만들겠습니다. 그러기 위해 또다른 Bind Event 를 사용하지만, 이벤트 디스패처에는 바인딩하지 않도록 하겠습니다. 대신 바위의 콜리전이 무언가에 맞으면 발동되는, 상황에 완벽히 들어맞는 OnHit 라는 콜리전 이벤트를 사용하겠습니다.

그러면 폭파시켜 봅시다!

  1. FirstPersonCharacter 블루프린트 안으로 돌아와서, 바위를 스폰시킨 Spawn Actor 노드를 찾습니다.

  2. Spawn Actor 노드의 Return Value 를 끌어놓은 다음 Assign On Actor Hit 를 선택합니다.

    OnActorHit.png

  3. Spawn ActorBind Event 를 연결합니다.

  4. Spawn ActorReturn Value 를 끌어놓고, Apply Radius Damage (Destructible) 을 선택합니다.

    ApplyDamage.png

    Apply Damage 를 사용할 수도 있지만, 추가로 입력할 파라미터가 있을 수 있습니다. 단순함을 위해 Radius Damage 를 사용하도록 하겠습니다.

  5. Apply Radius Damage 노드에서 아래 보이는 각 칸에 50000 을 입력하고 Get Actor Location 노드를 연결합니다.

    EnterDamage.png

    바위를 산산조각내기에 충분한 대미지를 입힐 수 있을 것입니다.

  6. Apply Radius Damage 노드 뒤에 Set Score 노드를 추가합니다.

  7. Control 키를 누른 채 Score 변수를 끌어놓은 다음 (1 로 설정된) Int + Int 노드에 연결하고, 다음과 같이 연결합니다.

    IncreaseScore.png

    이렇게 하면 현재 점수를 구해온 다음 바위에 맞을 때마다 1 씩 더해줍니다.

  8. Bind EventSet Score 노드를 3 초로 설정된 Delay 노드에 연결합니다.

    DelayNode.png

    바위가 (맞았든 안맞았든) 스폰된 지 3 초가 지나면, 파괴시키도록 합니다.

  9. Delay 뒤에 Destroy Actor 노드를 추가합니다.

    DestroyActor.png

    Spawn Actor 노드의 Return Value 를 끌어 Destroy Actor 노드의 Target 에 물려줍니다.

  10. Destroy Actor 뒤에 Set IsActive 변수 노드를 추가하고 체크해제 상태로 놔둡니다.

    SetIsActive.png

    여기서는 스폰된 바위가 더이상 활성 상태이지 않아 (pulls 횟수가 남아있다면) 플레이어가 또 하나 스폰시킬 수 있는 상태임을 말합니다.

핵심 게임플레이 구성이 완료되었으니, 이제 에디터에서 플레이해 보면 레벨 임의 스폰 지점에서 바위가 스폰되어 총으로 쏴서 파괴시킬 수 있는 것을 볼 수 있습니다. 다음 단계에서는 HUD 와 통신하여 캐릭터 블루프린트의 값에 따라 표시되는 값을 업데이트하도록 하겠습니다.

태그
Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼