그냥 게임개발자

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

게임개발

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

sudoju 2021. 12. 4. 18:14

 

 

내가 따라하는 영상은 DevSquad라는 분인데 배울게 많다.

나는 그냥 내가 이해한 것을 여기다가 포스트 하는 거지 솔직히 말하면 따라 쓰는 거다.

자 우리는 이 영상에서 썸네일만 봐도 알듯이  SCORING POINTS 점수를 얻는 기능을 넣어볼 거다.

 

 

이 블루프린트에 들어가서

 

 

일단은 Spawn Tile에 Delay을 주어 DestroyActor를 하게 노드를 짰다.

하지만 우리는 타일을 하나 넘어갈 때마다 점수를 추가하는 기능을 줄 것이기 때문에 Spawn Tile과 Delay타일을

 

Spawn Tile을 실행할 때 우리는 ThirdPersonGameMode에 형 변환할 것이다.

자 이 형 변환이라는 것은 무엇이냐 우리가 이 MasterTile블루프린트에 ThirdPersonCharacter에 있는 프로퍼티를 사용하고자 추가해주는 것이다.

어떤 프로퍼티를 사용할 것이냐.

이제 만들어 줄 거다.

PointsMultiPlier을 추가해주고 우리는 이 PointsMultiPlier를 통해 점수를 추가해주는 기능을 만들 것이다.

MasterTile 블루프린트에 들어가서

일단 형 변환을 시켜주자. 그리고 GameMode를 얻어온다.

그리고 우리는 CurrentPoints를 설정해줄 것이다.

 

자 우리는 GameMode에 있는 Curren Points와 Points Multiplier의 속성을 가져올 거다.

자 이때 우리가 까먹은 게 있는데 Points Multiplier는 우리가 한 타일을 넘었을 때 몇 점을 얻을 것인지 설정해놓는다.

나는 이 강의랑 똑같이 15로 해놓았다.

한 타일을 넘을 때마다 15점씩 얻게

그리고 Points Multiplier에 1을 곱하고 그 값을 현재의 포인트 즉 Current Points의 더한다. 그리고 그 값을 현재의 포인트로 설정

오케 실행해보자.

잘 되는데?

왜 이렇게 설정하셨지?

왜냐하면 우리는 이 게임의 설정을 바꿀 수 있는 기능을 설정해준 거다.

만약 어떤 아이템을 먹어서 점수를 2배로 얻게 한다거나 3배로 얻게 한다고 설정한다고 하면 

1을 어떤 변수로 바꿔준다거나 아니면 임의로 설정해서 이 게임은 두배의 게임이다.라고 설정해줄 수 있다는 것이다.

우리는 이것을 문자열로 출력해줄 것이다. 점수가 잘 들어가고 있는지

Print String = 문자열 인쇄

문자열을 로그에 출력하거나 화면에 출력하는 역할을 하는 함수이다.

이것을 현재 포인트를 추가하는 것을 화면에 출력할 것이다. 연결하는

이것은 설명에 정확히 쓰여있다.

우리가 정한 Current Points는 int 형이다.

정수 값을 문자열로 변환해주는 노드이다.

자 그럼 실행해보자.

오 잘 출력이 되고 있다.

우리가 아는 템플x은 점점 달리면 달릴수록 속도가 빨라진다.

우리도 설정을 해보자.

ThirdPesronCharacter에 형 변환을 시킨다.

왜냐 우리는 캐릭터의 속도를 건드릴 것이기 때문에 형변환을 시켜준다.

 

ThirdPersonCharacter에 있는 CharacterMovement의 속성을 MasterTile에서 사용하고 싶어 형 변환을 시켜주는 것이다. 오브젝트는 당연히 PlayerCharacter를 넣어줘야 하고.

만약 내 설명이 잘못되었다면 댓글로 적어주길 바란다.

난 아직 초보 개발자이다.

 

자 우리는 Character Movement의 프로퍼티를 건드릴 것이다.

 

이것을 점점 속도를 빠르게 설정할 것이다.

자 다시 MasterTile블루프린트에 가서

방금 있던 MaxWalkSpeed를 타일이 하나씩 생성이 될 때마다 1.01를 곱해준다.

뭐 계산해보니 타일이 생성이 될 때마다 약 6씩 스피드가 더해진다.

우리는 최대치를 설정해주어야 한다.

그래서 다시 나온 Clamp 최대 1200까지 설정해준다.

뭐 높게 더 설정하고 싶으면 더 높게 설정해줘도 된다.

 

자 이렇게 마지막으로 Max Walk Spped의 설정을 끝마치고 0.2초마다 DestroyActor를 즉 맨 처음 시작해서 나온 타일들을 하나씩 지운다.

 

우리가 점수 설정했던 거 화면에 나오게 해야지

콘텐츠 브라우저에서 위젯 블루프린트를 하나 만들자

먼저 완성된 UI다.

차근차근 점수의 텍스트부터 만들자.

UI 창이다.

자 우리는 팔레트에서 Text를 드래그 앤 드롭해서 화면에 넣을 것이다.

뭐 사이즈 잘 조절해서 앵커는 맨 오른쪽 위에다가 놓고 Text에다가 000을 넣어두자.

자 이제 이것을 바인드 할 것이다.

바인딩이란 텍스트의 함수 같은 역할을 한다.

일단 그 텍스트를 어떻게 변환시킬 것이냐.

바인딩을 생성해서 함수로 들어가 보면

GameMode를 가져와 형변환하여 현재 포인트를 Text로 반환한다.

 

 

자 나는 오늘 여기까지