그냥 게임개발자

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

게임개발

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

sudoju 2021. 12. 4. 19:25

템플런 게임 만들기 1에서 받은 텍스처 안에 Obstacle 텍스처와 메쉬가 있는 것을 알 수 있다.

그것을 임포트 해오자.

머티리얼 설정은 이렇게 메탈릭과 러프니스를 추가해

반짝반짝 빛나는 머티리얼을 만들었다.

컴파일 저장 필수

자 이것을 이제 어떻게 스폰할 것이냐?

 

차근차근 설명할 텐데 위에 있는 영상은 아마 다르게 설명할 것이다.

Lane0이 제일 많이 나오게 설정이 되어있다.

우리는 다 적절하게 랜덤 하게 나오는 장애물 스폰을 만들 것이다.

먼저 MasterTile블루프린트에 가서 함수 SpawnObstacles를 만들 것이다.

이 함수에 이제 Spawn을 하게 만들건대

일단 Obstacle을 잘 회전시키고 잘 맞게 설정하자.

 

자 이 함수에서 Random으로 값을 매겨서 그 값이 참이면 파이프를 불러오거나 아니면 Box 아니면 Coin 등 여러 가지를 생성하게 할 것이다. 일단은 우리는 Pipe 하고 Box만 불러올 거다.

 

 

Random Float in Range가 랜덤으로 값을 잡아주는데 이 값의 최소는 0 최대는 1이다.

그렇다면 0~1 사이에 랜덤 값을 불러오는데 이 랜덤 값이 만약 0.0~0.4 사이에 들어오면 즉 40% 확률로 Pipe를 Spawn 할 것입니다.

그렇다면 이렇게 설정해주자.

SpawnActor는 Obstacle Pipe라는 오브젝트 클래스를 생성하도록 설정해준다.

 

그것을 이제 Lane 어디에다가 설정해줄 것인지 정하기만 하면 된다.

Lane0 변수의 위치를 GetWorldTransform을 통해 Lane0의 월드의 위치를 얻어와 그 자리에 Spawn 한다

Lane 1과 Lane2를 똑같이 작성해주면 된다

 

 

나머지 Box도 똑같이 해주면 된다.

이제 Master Tile에서 함수를 불러온다.

BeginPlay

즉 시작했을 때 바로 시작 무슨 말이냐면 Tile이 Spawn이 될 때 Spawn Obstacle를 같이 불러오면 된다

그럼 Box도 설정해주자

이렇게 설정해주면 된다.

노드 설명은 안 해도 충분히 알지 않을까 생각한다.

그럼 시작하면

근데 뭐야 코인은 이럴 수도 있는데 바로 만들자

저는 다 만들어져 있는 것을 설명할 뿐이니..

코인도 임포트 해서 불러옵시다

그다음 코인에 대한 블루프린트를 만들어요

아 코인 머티리얼은 저는 이렇게 설정했습니다.

 

오케 넘어갑시다 그럼 코인에 대한 블루프린트를 만들고

바로 코인 메쉬 바꿔주고

이제 이 코인이 빙글빙글 돌게 하는 역할을 할 겁니다

컴포넌트 추가해서 RotatingMovement를 추가해주세요

그러면 뱅글뱅글 돈다.

그리고 이 코인에 닿았을 때 먹어야 하는 거니까

이 스태틱 메쉬를 누르고

이거를 +해줍니다.

즉 On Componet Begin Overlap이란 것은 플레이어가 트리거 볼륨으로 걸어 들어갔을 때 호출되는 이벤트

즉 충돌 이벤트라는 것이다.

플레이어가 이 코인과 충돌했을 때 시작하는 이벤트

그 전에 Gamemode블루프린트에서

코인 변수를 만들어주세요

그런 다음 우리는 GameMode에 Coins의 값이 ++이 될 것이고 Spawn Sound 즉 소리를 출력하고 그 coin을 사라지게 할 것입니다

 

그런 다음 아까 Spawn Obstacles 함수에 Coins를 추가하면 된다

 

이제 장애물 부딪혔을 때 죽는 것을 구현하자.

이제 우리는 ThirdPersonCharacter의 메쉬에 physics를 생성한다.

그럼 우리는 ThirdPersonCharacter의 Physics를 생성했다.

들어가 보면 

귀요미 완성

라기보단 캐릭터의 물리가 생성이 되었다.

그렇다면 이것을 실행해보자.

 

앗 일단 넘어갑시다.

암튼 우리는 물리가 생성이 되었어요.

ThirdPersonCharacter블루프린트에 DeathFunction이라는 함수를 생성시켜 우리는 DeathFunction을 시작할 때 피직스 시뮬레이션을 설정할 겁니다.

피직스 설정할 메쉬는 바로 지금 위에 덩그러니 놓여 있는 저분...으로 메쉬를 타깃으로 잡을 겁니다.

이제 그렇게 설정한 뒤 이동을 막아야한다.

Disable Movement라는 함수를 불러 이동 불가로 설정합니다.

 

 

이렇게 설정하시면 되지 않을까요?

이거는 Obstacle_Pipe, Obstacle_Box에도 설정하시면 됩니다 아 블루프린트는 생성해주셔야 된다.

그리고 또한 ThirdPersonCharacter블루프린트에 C버튼을누르면 죽게 하는것도 해보세요

아무튼 오늘은 여기까지

다음에는 게임오버 화면 UI와 게임 일시정지 UI를 만들어 볼 거다.