그냥 게임개발자

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

게임개발

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

sudoju 2021. 12. 4. 17:26

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

카메라_트랜스폼

GamePadInput하고 MouseInput 블루프린트를 지우고 MoveMentInput에서 Forward를 지우고 Event Tick(매 프레임마다 이벤트 실행)노드로 바꿔준다.

그러면 계속 달리는 캐릭터로 바뀐다.

 

항상 컴파일 저장 필수해주세요 무언가 바꿨을 때 꼭 해주어야 해요

 

아 일단 에셋부터 다운받자.

https://drive.google.com/file/d/12EFMuYYd8ikmnXMGq75-HyVf7mv23Cgj/view

 

EndlessAssets.zip

 

drive.google.com

블루프린트_수정

이제 다운받은 텍스처를 통해 노멀맵과 디퓨즈를 서로 결합하여 출력한 텍스처를 큐브에 입혀 타일을 만들었다.

왼 - Cube(타일)트랜스폼, 오 - Arrow(SpawnPoint) 트랜스폼

여기에 Arrow라는 컴포넌트를 넣어 어디로 가는지 단순히 방향 표시만 해준다.

게임에서는 보이지 않는다.

길을 무한하게 생기게 하기 위하여 박스 콜리전을 만들었다.

다른 블루 프린트에서 ThirdPersonCharacter 프로퍼티에 접근하고자 한다.

즉 캐릭터와 콜리전이 겹치는지 확인하는 역할을 하는 노드인 것 같다.

다음은 Spawn Tile이라는 함수를 만들어 스폰될 다음 타일은 클래스에서 액터를 스폰한다.

즉 스폰시키고자 하는 클래스를 지정할 수 있는 것이다.

Spawn Transform에 있는 NextSpawnPoint라는 변수는 기본적으로 월드에서 스폰될 위치를 정하는 변수인 것 같다.

타일 블루프린트 내에서 해당 스폰 지점의 위치를 가져와 다음과 같이 설정하는 거 같다.

마스터타일을 Arrow 컴포넌트 위치에 스폰지점을 가져온다.

이 위치를 얻을 것이기에 GetWorldLocation 함수로 위치를 가져오고 마스터타일이 수행할 작업은 다음 스폰 지점을 Arrow의 위치와 동일하게 설정하기 위해 GetWorldLocation을 연결해주는 것 같다.

 

마스터타일 블루프린트에는 이렇게 또 설정을 했다.

ThirdPersonGameMode는 Get Game Mode노드가 사용되어서 ThirdPersonGameMode라는 게임모드 블루프린트로 형변환하고 있으면서 타일을 스폰한다,

캐릭터가 콜리전에 닿으면 타일이 스폰이 되는 블루프린트 같다.

 

또한 타일이 스폰 될때마다 딜레이 0.2초뒤에 자기 자신을 삭제 한다.

 

마지막으로 ThirdPersonGameMode블루프린트에 게임이 시작이되면 무한루프를 진행한다. 어떤 것을? SpawnTile을 10번 반복한다. 0~9까지니 10번이다