게임레벨 (스테이지) 제작시 맨 먼저 작업하는 것 중 하나가 바닥인 Floor이다. 특별히 제작된 모델이 없을경우 유니티에서 기본제공하는 원시모델인 Plane또는 Cube를 사용한다.

GameObject>3D Object>Plane을 하나 만들고 F2를 눌러 이름을 Floor로 바꾼 후 리셋후 사이즈를 x:10, z:10으로 설정한다.

오브젝트를 만들면 위치가 (0,0,0)이 아니어서 리셋하려면 귀찮은데  Edit>Preferences에서  다음과 같이 설정하면 자동으로 (0,0,0)이 되므로 편리하다.

이 책에서 개발할 게임은 3인칭 시점  슈팅(TPS, Third Person Shooting)게임 이다.

1인칭시점 슈팅(FPS, First Person Shooing)게임게임과 더불어 인기가 많은 장르의 게임으로, 주인공과 적캐릭터가 전투를 벌이는 단순한 시나리오의 게임이다.

 

프로젝트 생성

3D 템플릿을 선택한후 이름을 SpaceShooter로 하고 프로젝트를 생성한다.

프로젝트뷰에 Scenes, Scripts, Prefabs, Images, Models, Sounds, Animations폴더를 만들어둔다. 

 

캐릭터모델 임포트하기

사용할 주인공 캐릭터는 MADFINGER Games사의 ShadowGun:Daedzone게임의 에셋을 사용한다. 현재는 에셋에서 다운받을수 없어서 일부를 다음 깃 허브에서 다운 받는다.

 

https://github.com/IndieGameMaker/IndieGameMaker

 

GitHub - IndieGameMaker/IndieGameMaker

Contribute to IndieGameMaker/IndieGameMaker development by creating an account on GitHub.

github.com

출판사에서 다운로드해도 되는것 같다.

다운로드후 Resources/Models폴더에 있는 Player.unitypackage를 프로젝트뷰 끌어와 설치할 수 있다. unitypackage는 에셋과 그 메타데이터를 저장한 압축파일이다.

새로 설치된 Player폴더를 Models폴더 밑으로 넣는다.

 

무료리소스 내려받기

책에서는 여러가지 리소스를 다운받는 법을 써 놨는데 그냥 깃에서 다운받으면 편하고 정확하다.

https://github.com/IndieGameMaker/SpaceShooter2021

Assets Store에서 yughues metal검색한후 내려받았는데 교재랑 같은 그림을 내려받았는데 내부 내용이 교재와 다르다 그냥 깃에서 다운받기를 권장한다.

하늘을 표시할 Skybox Volume2(Nebula)도 내려 받는다 

마지막으로  Barrel을 검색해 다운받는다.

리소스들을 import한후 Barrel은 Models폴더로 Sky와 Metal은 Images폴더로 정리한다.

에셋스토어에서 Add한 에셋들은 PackageManager에서도 Download 후 import할수 있다.

Scenes폴더 안의 SampleScene을 선택후 F2를 눌러 이름을 Play로 바꾼다.  Reload할껀지 물어보면 [Realod]를 눌러 갱신한다.

 

게임엔진은 유니티외에도 언리얼, 크라이, 하복, 게임브리오 소스엔진 등이 있다. 

유니티는 게임엔진으로 개발되었으니 게임 이외의 분양에서도 널리 사용되기에 리얼타임 3D 플랫폼이라는 부재를 달고 통합 멀티미디어엔진으로 발전되고 있다. 이것이 유니티를 공부하게 된 주된 이유이다.

 

아담이라는 단편 애니메이션이 유니티5로 제작되었고 Adam the Mirror라는 단편영화도 2017버전으로 제작되었다. 블레이드러너2049의 특수 효과에도 유니티가 활용됐다. 최근 유니티데모팀이 The Heritic이라는 고해상도 파이프라인 (HDRP)과 VFX의 장점을 잘 보여주는 단편영화를 선보인바 있다.

 

https://www.youtube.com/results?search_query=The+Heritic 

 

https://www.youtube.com/results?search_query=The+Heritic

 

www.youtube.com

 

유니티의 기본적인 인터페이스는 많은 창이 보인다.

각 창은 뷰라고도 불리고 다음과 같은 중용한 뷰가 있다.

프로젝트뷰 : 콘텐츠 제작에 필요한 모든 리소스들을 모아두고 만드는 곳.

씬뷰 :  프로젝트의 리소스를 재배치하여 3D 스테이지를 디자인하고 게임을 설계하는 뷰

하이라키뷰 : 씬뷰에 배열된 오브젝트들을 Transform Sort방식으로 정렬해서 보여준다. 오브젝트들은 메뉴에서 이동 복사 삭제가 가능하다. Preference창에서 Alphanumeric Sorting으로 변경 가능하다.

인스펙터뷰 : 선택된 게임오브젝트와 에셋의 속성창, 컴포넌트의 삽입 삭제가 가능하다.

게임뷰 : 개발 진행 중에 게임을 실행해 미리 볼 수 있는 뷰. 메인 카메라의 시야로 렌더링해서 보여준다.

콘솔뷰 : 디버깅시 로그를 출력하는 뷰, 메시지는 정보, 경고, 오류등이 있다.

툴바 : 화면이동, 객체이동, 회전, 스케일,  UI객체의 이동,회전, 스케일, 트랜스폼, 단축키QWERTY 

 

피봇/센터

화면 우상에 위치한 십자가같은 모양, 객체의 중심좌표 표시기준, Pivot은 모델링때 설정한 원점좌표가 표시되며 Center는 원점좌표가 무시되며 모델의 중앙에 표시된다. Center는 잘 안 쓰인다.

 

로컬/글로벌

글로벌 좌표는 3차원 공간의 절대 좌표를 의미하며 변하지 않는 절대 기준 좌표이다. 반면 씬뷰에 있는 객체를 중심으로 한 좌표를 로컬좌표라고 한다.

 

단축키

F : 게임오브젝트를 하이라키에서 선택하거나 씬뷰에서 선택한후 F키를 누르면 해당 객체가 포커싱된다.

FF : F키를 더블클릭하던가 Shift+F로 게임을 실행하는 중 이동하는 게임오브젝트를 자동으로 따라가게 할수 있다.

마우스휠 또는 AL + 마우스우클릭 + 마우스이동 : 씬뷰 Zoom

마우스 우클릭 + WASDQE : 시야각 변화

Shift+Space : 뷰가 최대화/최소화 된다.

유니티의 단축키는 Edit>Shortcuts에서 확인 편집할 수 있다.

유니티는 언리얼과 더불어 유명한 게임엔진중 하나 이다.

유니티를 이용해 하루면 재미있게 게임을 만들 수도 있다.

우리가 Microsoft사의 Word나 Excel을 필요한 기능만 사용해 이용한다. 사실 Excel은 자격증이 있을 정도로 다양한 기능을 제공한다. 아마 Word나 Excel를 공부만 한다면 끝까지 못 읽고 다들 포기할 것이다.

유니티도 마찬가지 이다. 엄청난 기능을 갖추고 있다. 이걸 다 읽고 게임을 만들겠다고 생각하면 오산이다. 그냥 고시공부하는게 좋을지도 모른다.그러나 점점 개념이 잡히면서 책을 읽는 속도가 늘어난다.

유니티를 이용해 하루만에도 게임을 만들수도 있지만 처음하시는 분들에게 유니티는 쉽지 않을수도 있다.

게임을 만들수 있다는 기대감으로 처음 유니티를 공부할때는 책을 따라하기 조차 쉽지 않았다. 포기하고 유튜브를 보기도 했다.  되도록 간단히 공부가 끝나면 직접 게임을 만들어보고 부족한 부분을 구글링하면서 배워보시기 바랍니다. 그럼 점점 머리속에서 유니티가 정리되는 걸 느끼실 겁니다.

 

유니티는 3D게임엔진이라 3차원 개념의 이해가 필요하나 그때 그때 공부하시면 됩니다.

복잡한 벡터나 선형대수의 계산은 유니티가 알아서 해주니 걱정 안하셔도 됩니다. 수학을 모르니 게임을 못배운다고 구박하는 선생님도 있지만 그런 사람을 위해 계산기 있다고 생각합니다. 잘 사용하면 됩니다. 필요한건 게임을 만들겠다는 목표의식과 이를 뒷받침해줄 인내와 끈기와 입니다.

유니티를 공부만 하지 마시고 직접 게임을 만들어 보시기 바랍니다.  쌈을 많이 해본 사람이 쌈을 잘하는거죠. ㅎㅎ

그리고 가능하면 무료학원이나 게임잼 같은데 가보세요. 짧은 기간이라도 괜찮습니다. 남들이 열심히 하는걸 보면 자극이 됩니다.

물로 프로 게임프로그래머가 되기 위해서는 눈감고도 할 수 있는 정도가 되어야 한다. 남의 돈 받는게 쉽지 않다. 사실 프로게이머가 되기 위해서는 유니티 이외에도 인공지능, 알고리즘, 자료구조, 통신, 컴퓨터사이언스, 데이터베이스, Directx, 게임물리, 수학 할게 산넘고 산이다. 잘 생각해보시기 바란다. 가성비로는 그냥 다른 프로그래밍 분야가 페이는 훨 나을수도 있다. 그러나 아마 이 글을 일고 계신분들은 게임을 사랑하시는 분들이라 판단이 쉽지 않겠지만 직업은 직업일뿐이다.

솔직히 게임시장이 크지만 게임엔진의 발달로 너무나 많은 게임이 나와 경쟁이 무지무지해 이미 레드오션입니다. 대형게임사는 외국것 들여다 팔기 급급하거나 기존게임을 현질로 우려먹는다던지 솔직히 정체시기라고 생각합니다. 여기에 짜증난 유저들이 Youtube대거 이동했습니다. Youtube는 무료에 재미있을니까요.

하여간 그래도 게임엔진은 이제 활용도가 시뮬레이션 AR VR XR Metaverse 가상휴먼, 영화. 컨텐츠, 유튜브등 다양한 분야가 펼쳐지면서 유니티나 언리얼의 가능성은 커져가고 있다고 생각합니다. 꼭 유니티로 직업을 삼지 않더라고 한번쯤은 배워볼만한 분야라고 생각합니다. 대신 빡세게 빨리 열심히하시기 바랍니다. 다른것도 해야하니까요. 

 

이번 블로그는 위키북스출판사의 유명한 이재현님의 절대강좌유니티 2021판과 유니티 매뉴얼을 참조해서 정리했습니다. 초보자도 따라할 수 있게 정리했지만 중급자용이라고 생각합니다.

 

https://unity3dstudy.com/

 

IndieGameMaker

 

unity3dstudy.com

 

절대강좌! 유니티: 유니티 전문 개발자가 알려주는 효과적인 게임 제작 기법

유니티 2021 버전과 더불어 한층 더 충실하게 보강된 내용으로 돌아왔습니다! 유니티는 현재 가장 각광받고 있는 게임 개발 엔진이다. 국내외를 막론하고 출시되는 많은 모바일 게임은 물론 게임

wikibook.co.kr

 

용어설명은 유니티 매뉴얼을 참조했다.

https://docs.unity3d.com/kr/2021.3/Manual/UnityManual.html

 

Unity 사용자 매뉴얼 2021.3(LTS) - Unity 매뉴얼

Unity 에디터를 사용하여 2D 및 3D 게임, 앱 및 경험을 만들 수 있습니다. unity3d.com에서 에디터를 다운로드합니다.

docs.unity3d.com

 

+ Recent posts