
이번에는 이때까지 했던 모든 내용들을 사용하여 본인만의 맵을 만들고 장애물을 배치하여 간단한 게임을 제작해 보자
언리얼엔진을 실행 후 GAMES 카테고리에 Third Person 형식을 선택한 다음, C++ 타입으로 프로젝트를 생성해준다
그러면 이렇게 언리얼엔진에서 기본으로 제공하는 3인칭 템플릿 맵이 열린다
여기서 게임을 플레이 해보면 언리얼엔진 마네킹을 3인칭 시점으로 조작할 수 있는 모습을 확인할 수 있다
이제 장애물을 배치할 맵을 적용시켜보자
에픽게임즈 런처로 접속해서 상단의 '마켓플레이스' 탭을 선택한다
'언리얼엔진 마켓플레이스'는 게임 개발에 필요한 다양한 자원을 구입, 판매할 수 있고, 이를 통해 개발 시간을 줄이고 품질 높은 게임을 만들 수 있으며, 지속적인 업데이트로 다양한 카테고리와 테마의 자원을 제공하는 온라인 플랫폼이다
여기에서 콘텐츠 검색 창에 'Infinity Blade : Castle를 검색해준다
그러면 무료의 배경 맵이 하나 나오는데, '무료' 버튼을 눌러서 맵을 다운로드 해준다
다운로드가 완료되면 이 맵을 적용하기 위해서 '프로젝트에 추가' 버튼을 클릭한다
그러면 "애셋을 추가시킬 프로젝트를 선택하세요" 라는 문구가 뜨면서 이 맵을 어디에 적용시킬 건지 선택하라는 항목이 나오는데, 맨 처음에 생성했던 프로젝트를 선택 후 '프로젝트에 추가' 버튼을 눌러주면 된다
조금 기다리면 Infintiy Blade: Castle 에셋이 프로젝트에 설치가 진행된다 [설치시간이 오래 걸릴 수도 있다]
콘텐츠 브라우저를 보면 에셋들이 추가되어 있는 것을 볼 수 있는데, 맵을 적용하기 위해 [All > Content > EnvironmentPack1 > Maps] 폴더에서 TerrainDemo 레벨을 열어준다
그러면 성 형태의 지형이 나오고, 여기에 움직이는 액터를 이용하여 여러가지 발판이나 장애물 등을 설치할 예정이다
이번 프로젝트는 성 아래부터 시작하여 꼭대기에 도착하도록 만들 예정인데, 각자 장애물을 배치하고 싶은 장소를 정하고 어떻게 설치할지 구상해보자
이를 위해 플레이 버튼을 눌러 맵을 돌아다녀 보면 몇몇 지형이 지면보다 높은 위치를 움직이고, 땅이 꺼지는 문제가 발생할 수 있는데, 이것은 맵에서의 콜리전 문제가 발생하였기 때문이다
이 문제를 해결하기 위해 먼저 콘텐츠 브라우저에서 [All > Content > EnvironmentPack1 > Meshes > EnvironmentPack_1] 폴더를 찾고, 검색창에 SM_Castle을 검색해서 'SM_Castle_Terrain'을 찾아 우클릭하여 Edit을 선택하거나 더블 클릭한다
그러면 이렇게 모델링 속성 창이 나오는데, 위에 Lit 부분을 클릭하고 Player Collision을 선택한다
이제 지형을 보면, 평평한 땅과는 다르게 일부분이 콜리전의 형태가 울퉁불퉁해서 마치 플레이어가 공중에 걸어다니는 효과가 나는 것이다
이를 해결하기 위해 다시 Lit 모드로 변경하고, Show 부분을 클릭해서 Simple Collision을 체크하고, 불필요한 콜리전을 지우거나 수정한다. [본인은 이 영역에서만 장애물을 만들 예정이기 때문에 이 부분만 수정하였다]
저장 후 모델링 수정 창을 닫고 플레이하면, 아까와는 다르게 걸리는 것 없이 캐릭터가 자유롭게 움직이는 모습을 볼 수 있다
이제 이렇게 수정한 맵을 저장하기 위해 상단 메뉴바에 [File > Save Current Level As..] 항목을 선택해주고
맵을 저장할 경로를 설정한 뒤, 이름을 CastleMap으로 정해준 다음 Save 버튼을 누른다
그리고 이 맵을 에디터의 기본 맵으로 지정하기 위해 [Edit > Project Settings..]를 선택하고 Project 섹션의 Maps & Modes에 들어간 다음,
Editor Startup Map과 Game Default Map 부분을 저장했었던 CastleMap으로 정해주면 된다
이 다음 글에서는 오브젝트가 이동할 수 있도록 C++ 코드를 작성해보자
VR게임 개발을 위한 언리얼엔진/C++ 공부한 내용 끄적이기...
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!