게임 기획 제련소
article thumbnail
[UE5] 디버깅 실습
🧠프로그래밍/UE5 2024. 12. 21. 00:18

디버깅이라는게 무엇일까?어떤 코드를 짜다가 예상외로 프로그램이 이상하게 동작을 한다고 느낄 때 해결하는 방법 중 하나이다. 나눗셈을 할 때 사람들이 자주 실수하는 부분에 대해서 재현해 보도록 하자.예를 들어, 기획서에 현재 체력이 몇 프로인지 UI에 출력해야된다 라는 요구사항이 있다고 가정해보자.세팅값 : 현재 체력 82 / 최대 체력 100퍼센트.. 백분율이니까 현재 체력과 최대 체력을 나눠주고 100을 곱해주면 0.82 라는 값이 나온다. 그래서 퍼센트까지 출력해주고 싶으면 [Format Text]를 이용해 {Percent}% 해준 뒤 연결해주면 현재 체력이 몇 프로이다 라는걸 확인할 수 있지 않을까? 연결한 노드들. 하지만 0이라는 값이 나온다. [Event BeginPlay]를 선택하고 F9을 눌..

article thumbnail
[UE5] 총알 재장전
🧠프로그래밍/UE5 2024. 12. 18. 03:08

마우스를 클릭할 때 마다 총알의 갯수가 감소하는것을 만들었다.그치만 0이 되면 음수까지 가버리기 때문에 0이면 실행을 하면 안된다. Branch를 추가해 이렇게 0이면되면 실행이 안되는 로직으로 바꿔줄 수 있다.총알이 없다면 print text를 통해 총알이 없다! 라는 텍스트까지 출력한다. 근데 이렇게 어떤 값을 빼주고 세팅하는것은 자주 있는 일인데... 더 편하게 할 수 있는 방법이 없을까?지금은 Ammo에서 1을 빼고 Set 노드로 다시 세팅해주고 있음. --를 검색하면 Decrement int 라는 노드를 찾아볼 수 있다.빼주고 그 값을 다시 세팅하는것을 한 번에 처리해주는 노드이다. 총알을 쏘는 기능은 만들었는데 총알을 다시 재장전 하는 기능도 만들어야 한다.조건 1. 재장전 버튼을 추가할 것 ..

article thumbnail
[UE5] 비교 연산
🧠프로그래밍/UE5 2024. 12. 18. 01:58

HP를 변수로 추가했는데 어느 RPG 게임이나 FPS 게임의 경우 몬스터의 체력이 0이 되면 몬스터가 죽고 몬스터가 죽으면 경험치를 플레이어가 얻고 아이템 같은 보상도 얻게 되는데, 여기서 나는 사칙연산을 통해서 체력을 줄이는 것까지는 할 수 있게 되었다.그러면 몬스터의 체력이 0 보다 작은지 어떻게 확인해야 할까? 사측연산에서도 그랬지만 수학에서 사용하던것을 그대로 사용할 수 있다.숫자를 넣어주면 자동으로 누가 작은지 판별해주는 기능을 한다. 이렇게 크다 작다 같다 같지 않다 같거나 크다 등등 그대로 사용할 수 있다. HP가 0이면 음수이거나 0이면 죽은 상태이니까 여기서 꺼낸 값이 true이면 이 몬스터는 죽은 상태가 될 것이다.여기서 나온 값을 당장 다른 노드에 꼽아서 이어서 사용해도 되긴하지만 다..

article thumbnail
[UE5] Get / Set
🧠프로그래밍/UE5 2024. 11. 12. 00:10

이전 글에서 데이터의 공간을 만들고 할당하는 것까지 해보았다. 하지만 실제로 의미가 있으려면 뭔가를 넣거나 꺼내 써야 한다.그래서 Get과 Set을 배워보도록 하자. [Set] 변수에 어떤 값을 할당하는 것.[Get] 변수에 할당한 값을 읽어내는 것. int로 영역을 먼저 할당을 받았다. 우클릭을 눌러서 Set Hp를 검색해서 노드를 추가하고 Get HP를 눌러 노드를 추가해 주었다.이 두 개가 가장 핵심적인 역할을 할 것이다. 아까 HP라는 변수를 만들었는데왜 두 개를 더 만들어요?  HP라는 일종의 박스를 만든 건 맞지만 새로운 변수로 만든 게 아니라 하나의 기능을 만들어 준 것이다.이 개념은 함수의 개념과 같다고 보면 된다. 쉽게 기계라고 생각하면 된다. 마우스를 가져다가 대면 함수의 기능을 알 수..