서론
유니티 엔진을 이용하여 간단한 기능으로 동작하는 게임을 만들어 봅니다. 키보드 입력을 받아 동작하는 오브젝트를 만드는 방법과 오브젝트에 물리 법칙을 적용하는 방법을 알아보겠습니다.
작업 순서
1. 유니티 허브를 실행한 후에 첫 화면의 오른쪽 상단의 'New project'를 클릭합니다.
2. 템플릿을 선택하기 위한 창이 뜨면 우선 Editor Version을 원하는 버전으로 선택한 후에 템플릿을 3D Core로 선택합니다. 그리고 프로젝트 이름과 저장 폴더를 선택한 후에 Create project 버튼을 클릭하여 프로젝트를 생성합니다.
3. 프로젝트 창에서 Assets 폴더 내의 Scene 폴더로 들어가서 마우스 우클릭을 해서 'Create' 메뉴 안에 있는 'Scene'을 클릭하여 새로운 Scene을 만들어줍니다. Scene의 이름을 원하는 이름으로 지정해줍니다. 이 강의에서는 'MyUnityGame' 이라는 파일명으로 프로젝트를 생성하겠습니다.
4. 새로 생성한 Scene 파일을 더블 클릭해서 Scene View에서 열리도록 합니다.
5. 게임에서 사용될 맵의 배경을 만들기 위해서 Hierachy 창에서 마우스 오른쪽 버튼을 클릭합니다. 3D Object 메뉴 안에 있는 Plane을 클릭하여 평평한 바닥을 만들어줍니다.
6. 플레이어가 조종하게 될 플레이어 캐릭터를 만들기 위해서 Hierachy 창에서 마우스 오른쪽 버튼을 클릭한 후에 3D Object 메뉴 안에 있는 Sphere를 클릭하여 구형의 오브젝트를 만들어줍니다. Sphere의 이름은 Player로 바꿔줍니다.
7. Player 오브젝트의 색깔을 지정하기 위해서 Project 창에 있는 Materials 폴더로 들어갑니다. Materials 폴더 안에서 마우스 오른쪽 버튼을 클릭하여 Create 메뉴 안에 있는 Material을 클릭합니다. 생성된 Material의 이름은 Player로 변경합니다.
8. Player Material이 선택된 상태에서 에디터의 오른쪽에 있는 Inspector 창으로 가서 색깔을 원하는 색으로 변경해줍니다.
9. Plane의 좌표를 조정하기 위해서 Plane을 선택한 상태에서 Inspector 창으로 들어갑니다. Position의 X, Y, Z 값을 모두 0으로 변경하여 Plane 오브젝트가 원점에 위치하도록 조정합니다.
10. Player 를 선택한 후에 좌표값을 X는 0, Y는 1, Z는 0으로 변경합니다. 이렇게 되면 Player 오브젝트가 Plane과 위치가 겹치지 않고 Plane보다 위로 올라오게 됩니다.
11. 게임 화면을 위에서 아래로 내려다 보는 화면을 만들기 위해서 카메라의 위치와 각도를 조정해줍니다. Main Camera를 선택한 후에 Inspector 창에서 카메라의 Position 값을 X는 0, Y는 10, Z는 0으로 변경하여 카메라가 Plane 오브젝트의 바로 위에 위치하도록 해줍니다. Rotation 값 중에 X값을 90으로 변경해서 카메라가 90도 아래로 내려다 볼 수 있게 해줍니다.
12. Hierachy창에서 Directional Light를 선택한 후 Inspector 창으로 가서 Shadow Type을 No Shadows로 선택해서 Player의 그림자가 Plane에 생기지 않도록 합니다.
13. Project 창의 Player Material을 드래그해서 Hierachy 창의 Player 오브젝트 위에 놓아줍니다. 그러면 오브젝트에 Material의 색이 바로 적용이 된 것을 확인할 수 있습니다.
14. Player를 움직일 수 있도록 하기 위해서 물리 법칙을 적용해줍니다. Player 오브젝트를 선택한 상태에서 Inspector 창으로 가서 제일 밑에 Add Component 버튼을 클릭한 후에 Rigidbody를 검색한 후에 클릭합니다. Player에는 이제 Rigidbody가 적용되었고 물리 법칙을 사용할 수 있게 되었습니다.
15. 에디터 상단에 있는 플레이 버튼을 클릭하면 플레이 모드가 되면서 Player 오브젝트가 Plane 위로 떨어지는 것을 확인할 수 있습니다. 이것은 Rigidbody의 설정 중에서 Use Gravity 메뉴 옆의 체크 박스에 체크가 되어 있어서 오브젝트에 중력이 적용되었기 때문입니다.
댓글