Unreal/TA&Development

[UE5][BP] 조건을 생성해보자

김성인 2024. 4. 16. 01:01

[UE5][BP] 조건을 생성해보자

 

 

 앞선 HUD에서 보았듯이 나는 Stamina라는 캐릭터의 능력치를 만들어두었다.  그리고 이 능력치는 '쉬지 않고 최대 달릴 수 있는 시간'이라는 조건으로 사용하려고 한다.

 

 계획은 이렇다.

  1.   최대 스태미나는 10이고, 0.5초마다 1씩 떨어트린다(소모한다).
  2.   달리지 않는 상태에 스태미나를 2씩 회복한다.

 참고로 아래의 노드는 최대 스태미나가 1이고, 0.5초마다 0.1씩 소모하도록 만들었다...

 

 먼저 달리기 노드를 제작한다.

 

  1. 유저가 Sprint 키를 눌렀을 때, 플레이어의 스태미나가 소비되는 스태미나보다 크거나 같다면, Branch 노드를 통하여 캐릭터의 이동속도가 2200이 된다.  > 달리기 상태 가능
  2. Set Timer 노드를 이용하여, 0.5초마다 위 노드를 루핑 한다.
  3. 유저가 Sprint 키를 땠을 때, 캐릭터의 이동속도는 600이 된다.  > 걷는 상태가 된다.

 

 다음으로 달리는 동안 스태미나를 소모하도록 만든다.  동시에 이것은 위 달리기 노드와 연결되어 Player Stamina를 스프린트 코스트로 소모시키는 것을 반복하여, 최종적으로 Player Stamina의 변수 값을 깍아내린다.

 

 

 마지막으로 달리지 않는다면 스태미나가 회복되도록 만든다.  Delay 노드를 이용하여 1초에 한 번씩 Player Stamina가 Stamina Recharge Rate 값을 더하도록 만든다.  MIN 노드로 최대 값이 1이 되도록 제한하였다.

 

 위의 노드들에서 Sprint Cost와 Stamina Recharge Rate는 변수로 지정한 이유가 게임을 진행하며 컨디션이 바뀌는 것에 대응하고자 했다.  만약 업그레이드 등의 컨디션 변경이 없다면 상수로 지정해도 문제없다.  단지 이것은 게임의 확장성과 연관이 있다.

 

 위의 작업이 끝나면 HUD의 HP, ST 바는 이렇게 작동한다.

 

 

 최종적으로 이런 결과물을 얻을 수 있다.

  1.  HP, ST 바
  2.  적 사살 카운팅
  3.  장탄된 총알의 수
  4.  달리기 기능
  5.  스코프 기능