[프로젝트 생성]
유니티를 실행 시켜서 새로운 프로젝트를 2D로 생성해 주세요.
이 부분은 다 아실거라 생각합니다^^
[해상도 설정]
제작하려는 게임의 해상도는 1280X768입니다.
게임뷰에서 아래 이미지와 같이 빨간색 박스로 표시된 버튼을 누르고 파란색 박스로 표시된 영역의 +버튼을 누릅니다.
팝업된 창에서 Width는 1280, Height는 768을 각각 입력해 주고 OK버튼을 누릅니다.
설정해준 해상도로 바뀌는 것을 볼 수 있습니다.
[카메라 설정]
이제 맞춰준 해상도에 맞게 씬이 표시되도록 카메라를 설정해주도록 하겠습니다.
하이어라키뷰의 MainCamera를 선택하고 인스펙터 뷰의 설정을 바꿔줍니다.
프로젝트 설정을 2D로 했기때문에 Projection은 Orthographic 으로 기본적으로 설정이 되겠지만 확인해주시기 바랍니다.
그리고 Size 를 3.8로 바꿔줍니다.
[Sorting Layer 설정]
런게임을 제작하기 앞서 만들어줄 오브젝트들의 Sorting Layer를 설정하겠습니다.
이 게임에서는 배경, 바닥, 적, 주인공이 등장합니다.
따라서, 배경과 바닥, 적, 주인공의 순서대로 화면이 구성될 수 있도록 Sorting Layer를 설정해 줍니다.
유니티 상단 메뉴의 Edit 클릭 -> Project Setting 클릭 -> Tags and Layers 클릭
Sorting Layers에 목록을 아래 이미지와 같이 작성해 줍니다. (플러스 모양 아이콘을 클릭하면 항목이 늘어납니다.)
[배경만들기]
이제 배경을 만들어 보도록 하겠습니다. (게임에 들어가는 리소스들은 모두 프로젝트뷰에 넣어주시기 바랍니다.)
프로젝트뷰 Sprite폴더에서 background 이미지를 하이어라키뷰로 드래그해서 넣어줍니다.
만약 이미지가 스프라이트로 생성되지 않았다면 이미지를 클릭하고 이미지의 인스펙터뷰에서 Texture Type을 Sprite(2D and UI)로 설정해 줍니다.
화면에 배치된 background의 Position을 0, 0, 0으로 해줍니다.
background의 Sorting Layer를 Background로 바꿔줍니다.
하이어라키뷰의 background를 복사해서 background를 하나 더 만들겠습니다.
하이어라키뷰의 background를 클릭하고 Ctrl + D 단축키를 누릅니다. (Ctrl + D 단축키를 입력하면 선택된 오브젝트가 복사됩니다.)
복사된 background의 Position을 12.80, 0, 0으로 설정합니다. (이때 복사된 background는 복사되었기 때문에 Sorting Layer를 따로 설정하지 않아도 됩니다.)
만들어준 두 background를 하나의 그룹으로 묶어서 관리하겠습니다.
하이어라키뷰에서 마우스 우클릭을 누르고 Create Empty를 선택합니다.
그럼 GameObject가 생성될 것입니다. 이 GameObject의 이름을 Background로 바꿔줍니다.
Background의 위치는 꼭 0, 0, 0으로 설정해 줘야 합니다.
background 두 개를 모두 선택해서 Background의 하위 개체로 만들어 줍니다.
이제 배경은 세팅이 다 됐습니다.
[배경 움직이기]
이제 만든 배경을 움직여 보도록 하겠습니다.
프로젝트뷰에서 폴더를 하나 만들어 줍니다. 폴더의 이름은 Script 입니다.
Script 폴더 안에 스크립트를 하나 만들어 줍니다. 스크립트의 이름은 CsBackground입니다.
CsBackground 스크립트를 더블클릭하여 스크립트를 열어주고 스크립트의 내용을 작성합니다.
작성한 CsBackground 스크립트를 하이어라키뷰의 Background에 등록해 줍니다.
그리고 Background를 클릭하여 인스펙터뷰에서 speed값을 1로 설정해 줍니다.
이제 플레이 버튼을 눌러 확인해보시면 배경이 자연스럽게 움직이는 것을 볼 수 있습니다.
[바닥 만들기]
플레이어가 뛰어다닐 수 있는 땅을 만들어 보겠습니다.
바닥도 배경을 만든 것과 같은 방식으로 만들겠습니다.
프로젝트뷰의 Sprite 폴더에서 ground 이미지를 드래그해서 하이어라키뷰로 넣어줍니다.
생성된 ground의 Position을 0, -3.4, 0으로 셋팅합니다.
Sorting Layer는 Floor로 설정합니다.
하이어라키뷰의 ground를 클릭하고 Ctrl + D 단축키를 눌러 ground로 복사해줍니다.
복사된 그라운드의 Position을 12.8, -3.4, 0 으로 설정해 줍니다.
background와 마찬가지로 Sorting Layer는 설정해주지 않아도 됩니다.
하이어라키뷰에서 마우스 우클릭을 누르고 Create Empty를 선택합니다.
생성된 GameObject의 이름을 Ground로 바꿔주고 Position을 0, 0, 0으로 설정해 줍니다.
하이어라키뷰의 ground 두 개를 모두 선택하여 만들어준 Ground의 하위 개체로 만들어 줍니다.
바닥의 준비가 완료 되었습니다.
[바닥 움직이기]
바닥을 움직이기 위해서 스크립트를 생성하겠습니다.
프로젝트뷰의 Script 폴더에 스크립트를 하나 만들어주고 생성된 스크립트의 이름을 CsGround로 바꿔줍니다.
스크립트의 내용을 작성하도록 합니다.
작성이 완료된 CsGround 스크립트를 하이어라키뷰의 Ground에 적용시켜 줍니다.
Ground의 speed를 1로 해줍니다.
플레이 버튼을 눌러 확인해보면 바닥이 배경과 같이 움직이는 것을 볼 수 있습니다.
[플레이어 생성]
게임 안에서 사용자가 조작하여 움직일 수 있는 플레이어를 생성하도록 하겠습니다.
플레이어의 동작은 점프만 있으며 PC와 Android에서 모두 동작하도록 할 것입니다.
프로젝트뷰의 runner의 이미지를 이용하여 플레이어를 만들겠습니다.
프로젝트부의 runner 이미지를 클릭하고 인스펙터뷰에서 Texture Type을 Sprite(2D and UI)로 설정하고 Sprite Mode를 Multiple로 설정합니다.
그리고 Sprite Editor 버튼을 눌러서 에디터 창을 띄워줍니다.
Sprite Editor 창에서 Slice 버튼을 누르고 팝업창이 나타나면 팝업창 하단의 Slice 버튼을 누릅니다.
확인해 보면 runner의 스프라이트 이미지들이 만들어진 것을 볼 수 있습니다.
이제 만들어진 스프라이트들을 가지고 러너가 움직이는 애니메이션을 제작하겠습니다.
먼저 프로젝트뷰에서 runner 이미지를 하이어라키뷰로 드래그하여 끌어다 놓고 이름을 runner로 바꿉니다.
runner의 Position을 -5, -2.6, 0 으로 설정해 줍니다.
Sorting Layer는 Player로 해줍니다.
이제 애니메이션으로 뛰는 모션을 재생시키도록 하겠습니다.
하이어라키뷰에서 runner를 선택하고 유니티 상단 메뉴의 Window 클릭 -> Animation 클릭
애니메이션 창에서 Create 버튼을 눌러 애니메이션 파일을 생성해 줍니다.
애니메이션 이름을 적고 저장합니다.
애니메이션 창에 runner의 스프라이트들을 모두 선택하고 드래그하여 넣어줍니다.
Samples 수치를 조정해서 애니메이션 속도를 조절합니다.
애니메이션을 재생해 보면 플레이어가 달리는 모습을 볼 수 있습니다.