그냥 게임개발자

개발일지_005(UE4게임)블루프린트로 템플런 게임만들기5 본문

게임개발

개발일지_005(UE4게임)블루프린트로 템플런 게임만들기5

sudoju 2021. 12. 5. 00:30

첫번째로 포스트한 사이트에 DevSquard님이 올리신 파일을 다운받으시면 지금 보이는 화면처럼 만들 수 있다!

https://sudoju.tistory.com/16

 

개발일지_001(UE4게임)블루프린트로 템플런 게임만들기1

3인칭으로 프로젝트를 만든 뒤 콘텐츠 브라우저에 블루프린트 목록에 3인칭 블루프린트로 들어가 카메라를 뒤로 조금 설정하고 GamePadInput하고 MouseInput 블루프린트를 지우고 MoveMentInput에서 Forward

sudoju.tistory.com

뭐 그냥 자기가 원하는 이미지를 넣어도 되긴하는데 그건 알아서

일단 다운받은 이미지들을 보자.

오 이렇게 정리가 되어있다.

이걸 활용해 GameOverUI를 만들어보자

콘텐츠 브라우저에 게임오버UI를 만들 폴더를 생성해서 하는 것이 좋다.

확인하기 편하니까 그렇다면 우리는 UI를 생성해야 한다

위젯 블루프린트를 눌러 UI를 생성

이렇게 배치해놓자

혹시 모르니 다시 설명한다.

자 여기서 왼쪽에 보면 팔레트에 일반에 Image와 Button, text를 적절히 놓자

이렇게 배치해놓으시면 됩니다.

이제 이미지를 클릭해 디테일 패널에 Image라고 써있는 것을 클릭해

Game이라고 치면 우리가 올린 GameOver 텍스처가 나온다.

쪼꼬미

아무튼 이걸 키우고 배치를 잘하게 되면

오호

이렇게 된다.

버튼에는 이미지 텍스트는 아래랑 똑같이 써주시면 된다.

이제 앵커를 왼쪽 중간에 놓으시고 해주세요

Normal : 일반상태

Hovered : 커서가 올라왔을 때

Pressed : 눌렀을 때

이렇게 정해진다.

Hovered에다가는

RestartHovered 텍스처를 넣는다.

자 이제 진짜 죽었으면 이텍스처가 나오게 하게끔 하겠다

아 컴파일 저장 꼭 필수 지금까지 포스트해오면서 컴파일 저장을 필수라고 얘기안했는데

컴파일 저장 꼭 필수입니다

 

죽으면 게임 오버 UI가 나오게 하게끔 하려 한다.

Death Function함수가 작용됐을 때 당연히 UI가 나오게끔 해야한다.

Game Over Screen<- 이건 내가 이름을 그렇게 설정했기 때문에 이 위젯을 생성할 수 있는 것이다.

이렇게 생성하면 됩니다.

여기 이 클래스를 불러오면 된다

게임오버UI 위젯을 생성하고 그것을 Add to Viewport를 통해 화면에 나오게 한다.

뷰포트에 추가 즉 게임의 뷰포트에 추가하고 전체화면을 채운다라고 설명이 되어있습니다.

UI를 뷰포트에 추가한다라고 보면 되죠.

잘 나온다.

그렇다면 이제 점수와 최고점수를 나오게 설정해보자

이렇게 배치 해주었을까요? 색깔은 텍스트를 선택하시고 디테일 패널에 보시면

이렇게 컬러 및 오파시티를 설정할 수 있습니다.

자 이제 우리가 코인 수를 표현하기 위해 text의 바인딩을 생성합니다.

이 텍스트를 눌러서 text 바인딩생성하시면

그럼 이런 함수가 생긴다.

먼저 ThirdPersonGameMode에 형변환을 시킵니다.

이유는 우리가 coins라는 변수를 사용하기 위해서 입니다.

이렇게 coins를 text로 변환해서 반환 시켜주면 된다.

Minimum Integral Digits는 최소 자릿수를 설정해주는 것이다.

우리는 코인의 자릿수를 3자리로 최소 설정하며 최대는 신경 안써도 된다.

그 다음 현재 포인트 최고 포인트도 똑같이 해준다.

현재 포인트 노드

그리고 일단 재시작 버튼을 활성화하겠습니다.

재시작 버튼을 눌러보면 이벤트에

On Clicked 즉 클릭 시

Excute Console Command함수를 실행할 거다.

command에 쓴 명령을 실행합니다.

그렇다는건 restartlevel이라고 되어있는데 그냥 콘솔 명령어입니다.

restartlevel이라는 것은 현재 레벨을 다시 재시작하라는 명령어입니다.

그럼 실행하고 죽고 restart을 눌러보자

 

이제 원래 게임시작을 실행할 때 나오는 기본 점수 UI가 있다.

그 UI를 더 꾸며보자 코인하고 최고점수를 넣어보자.

이렇게 만들어보자 이미지랑 텍스트 알려주지 않았나...

아 이 텍스처들은

다운받은 HUD폴더가면 있다.

오른쪽에 있는 이미지나 텍스처들은 앵커를 오른쪽 위로 다 맞춰줘야 한다.

 

이렇게 맞춰줘야 한다 일시정지 버튼은 앵커 왼쪽위로 맞춰줘야하고 다 설정이 되었나?

그렇다면 점수와 코인은 우리가 바인딩 함수를 만들었지 않았습니까?

그 함수를 그대로 사용하면 된다.

On Clicked 즉 클릭을 했을 때 Set Game Paused를 실행하도록 하자라는 말이다 그리고 Paused 위젯 생성을 해준다.

Paused 위젯 생성은 우리가 이제 만들어야 할 UI이다.

이렇게 만들어야 하는데

버튼 2개와 텍스트를 넣을 것이다.

버튼 2개는 HUD 폴더에 있다.

Continue 버튼을 누르면

On clicked이벤트를 만들자.

On Clicked(Button_0)이 Continue고 Button_1은 Leave버튼인데 우리는 이것을 메인 메뉴로 할 것이다.

메인메뉴?

우리 또 만들어야돼...

그래서 아래 버튼은 아직 안만들고 Continue만 만들거다.

이렇게 해야하는데

Remove from Parent란

이 위젯을 제거한다 이게 무슨말이냐면 간단히 설명하겠다 지금 현재 사용하고 있는 UI를 제거하는 것이다.

즉 우리가 일시정지 버튼을 누르면 

이런 UI가 나온다.

여기서 Continue 버튼을 누르게 되면 지금 보는 UI는 사라지고 게임이 다시 시작이 되는 거다.

 

이제 Leave 레벨을 만들어보자.

 

레벨 생성하는 법은 생략한다.

이거 모르면 안되지..

아무튼 레벨을 빈 레벨을 생성한다.

그 다음 메인메뉴 폴더에 있다.

메인메뉴 위젯을 생성한다.

이렇게 UI 꾸며준다.

일단 오늘 여기까지 해보자.