🧠프로그래밍/UE5

[UE5] 비교 연산

악마반장 2024. 12. 18. 01:58

HP를 변수로 추가했는데 어느 RPG 게임이나 FPS 게임의 경우 몬스터의 체력이 0이 되면 몬스터가 죽고 몬스터가 죽으면 경험치를 플레이어가 얻고 아이템 같은 보상도 얻게 되는데, 여기서 나는 사칙연산을 통해서 체력을 줄이는 것까지는 할 수 있게 되었다.

그러면 몬스터의 체력이 0 보다 작은지 어떻게 확인해야 할까?

 

사측연산에서도 그랬지만 수학에서 사용하던것을 그대로 사용할 수 있다.

숫자를 넣어주면 자동으로 누가 작은지 판별해주는 기능을 한다.

 

이렇게 크다 작다 같다 같지 않다 같거나 크다 등등 그대로 사용할 수 있다.

 

HP가 0이면 음수이거나 0이면 죽은 상태이니까 여기서 꺼낸 값이 true이면 이 몬스터는 죽은 상태가 될 것이다.

여기서 나온 값을 당장 다른 노드에 꼽아서 이어서 사용해도 되긴하지만 다른 정수에 임시적으로 값을 저장해서 계속 반복해서 꺼내 쓰는 방법도 있을것이다.

 

bool변수로 사용해줘도 되고, 더 빨리 할 수 있는 방법은 결과물을 당겨서 [promote to variable] 이라고 변수로 승격시킨다 라는 옵션이 있는데 이걸 누르면 자동으로 이것에 맞는 변수 타입을 만들어준다.

 

그래서 Event BeginPlay가 실행이 되면 죽었는지를 판별하는것 까지는 구현을 했다.

그렇다면 이 결과에 따라서 살았으면 무엇을하고 죽었으면 무엇을 하는지 두 가지로 나뉠 수 있겠다.

 

이럴때 Branch 라는 기능이 있다. 직접 검색해서 추가해줘도 되고 단축키 'B'를 눌러서 마우스 왼쪽 클릭만 해줘도 바로 추가된다.

그만큼 중요한 기능이라고 한다! 또한 Branch는 특히 비교연산이랑 잘맞는 노드라고 한다.

 

그래서 HP값 결과에 따라 죽었습니다 살았습니다를 출력해서 확인해 볼 수 있다.

Branch가 일종의 분기문이라고 보면된다. 맞다 그 if  else문이다.