[UnrealEngine]FPS 게임 만들기(6)
이전에 타겟을 맞추면 없어지고 점수가 추가되는 작업을 했다. 이제 타겟마다 값을 주어 보너스 점수나 감점을 할 수 있도록 변경한다.
TargetBP에서 인티저타입의 TargetValue, HealthValue 변수를 추가한다.
먼저 Get TargetValue
노드를 HandleUpdateScore
노드에 연결한다. 그리고 기본값으로 50을 준다. 이렇게하면 타겟을 적중했을 때 값이 50씩 오르는 것을 확인할 수 있다.
변수 이름 우측의 버튼을 누르면 외부에서 수정이 가능해진다.
뷰포트에서 타겟을 클릭하고 디테일을 보면 Default에 우리가 만들었던 TargetValue와 HealthValue를 확인할 수 있다. 이 값들을 외부에서 접근 및 수정이 가능해졌다.
Target-BP를 열어보면 노란색으로 나온다.
오른쪽 디테일에서 툴팁에 내용을 추가하면 녹색으로 바뀐다.
메인창에서 타겟을 선택하고 디테일하위의 Default에서 TargetValue에 마우스를 올리면 방금 작성한 툴팁이 표시된다.
Target-BP에 노드를 다음과 같이 추가한다. Get HealthValue
를 통해 체력값을 가져오고 이것이 0보다 작아질 경우 사라지게 된다. 이제 HealthValue를 깎는 로직을 추가해야한다.
HandleWasHit
노드의 리턴값 Hitter와 DamageValue를 변수로 승격하여 노드를 만든다.
노드를 다음과 같이 배치한다.
데미지를 받으면 체력에서 그 값을 뺴고 다시 HealthValue로 설정한다.
위에서 적용되는 DamageValue는 FPS-Character에서 설정했었다.
이 DamageValue에 대한 변수를 새로 생성하여 변경가능하도록 만들어준다. 이를통해 추후 2배 데미지 등 설정을 추가할 수 있다.