회원 로그인
|
유니티 '막강좌' - 6. 게임 제작 맛보기 (게임 시작씬 제작)
유니티 '막강좌'
차례
1. 공간의 개념 (2D, 3D)
2. FSM, 순서도(Flow Chart)
3. 인터페이스
4. 꼭 알고 있어야 할 사항
5. 많이 사용되는 용어 정의
6. 게임 제작 맛보기 (게임 시작씬 제작)
(1) 새 프로젝트 / 씬 저장
(2) 해상도, 카메라 셋팅
(3) 지형 만들기(Terrain, Water(Basic), Skybox)
차례
1. 공간의 개념 (2D, 3D)
2. FSM, 순서도(Flow Chart)
3. 인터페이스
4. 꼭 알고 있어야 할 사항
5. 많이 사용되는 용어 정의
6. 게임 제작 맛보기 (게임 시작씬 제작)
(1) 새 프로젝트 / 씬 저장
(2) 해상도, 카메라 셋팅
(3) 지형 만들기(Terrain, Water(Basic), Skybox)
(4) Light 셋팅
(5) NGUI로 로고와 버튼 만들기
(6) Playmaker로 카메라 회전하기 / 'Start Game' 버튼으로 씬 이동
(7) 빌드 / 실행
7. 프로그래밍 Java? C#? Boo?
8. C# 기초
6. 게임 제작 맛보기 (게임 시작씬 제작)
많이 사용하는 NGUI 애셋과 스크립팅이 필요없이 FMS 방식으로 제작할 수 있는 Playmaker 애셋으로 게임 인트로를 만들어 보겠다.
(5) NGUI로 로고와 버튼 만들기
(6) Playmaker로 카메라 회전하기 / 'Start Game' 버튼으로 씬 이동
(7) 빌드 / 실행
7. 프로그래밍 Java? C#? Boo?
8. C# 기초
6. 게임 제작 맛보기 (게임 시작씬 제작)
많이 사용하는 NGUI 애셋과 스크립팅이 필요없이 FMS 방식으로 제작할 수 있는 Playmaker 애셋으로 게임 인트로를 만들어 보겠다.
바다 위의 무인도를 만들고, 게임 제목의 로고를 이용해 게임 인트로를 만들 것이다.
(1) 새 프로젝트 / 씬 저장
① File > New Project...를 클릭하여 IntroGame명으로 프로젝트를 시작한다.
② Scenes 폴더를 만든 후 안에 인트로 씬인 introScene과 게임으로 갈 씬인 gameScene 씬을 각각 저장 해둔다.
③ 현재 씬이 introScene인지 확인하고 아니라면 프로젝트뷰에서 방금 저장한 introScene을 더블클릭, 또는 선택 후 인스펙터 뷰에서 Open 버튼을 클릭하여 introScene으로 변경한다.
(2) 해상도, 카메라 셋팅
① 웹에서 실행해보도록 할 것이므로 해상도는 640x480로 변경할 것이다.
② File > Build Settings > Player Settings > Settings for Web Player에서 해상도를 수정한다.
③ 카메라 셋팅, Main Camera > Clipping Planes < Far를 작은 수치로 적당히 조절해 둔다. 이유는 Camera의 Far의 역활을 알기 위해서 이다.
④ 게임뷰 > 해상도를 640x480으로 맞춘다. 항목이 없다면 클릭해 추가해서 맞춘다.
(3) 지형 만들기(Terrain, Water(Basic), Skybox)
③ Paint Texture > Edit Textures > Texture에서 텍스쳐를 골라주어 Add(4)한다.
④ 지형을 만들고(1), 나무와 풀을 심어준다.(2)
⑥ Standard Assets > Water (Basic) > Sources > Object >Water Plane을 하이어라키 뷰에 드래그&드롭 한다.
⑦ Position과 Scale 이용하여 Water Plane을 배치 시켜준다.
⑧ 텍스쳐를 넣어주고(1), Tiling에 적절한 수치를 넣어준다.(2)
⑨ 씬 뷰에서 보고 있는 뷰를 Camera에 적용시킨다. Main Camera를 선택 후 GameObject > Align With View를 클릭하여 카메라의 위치를 적절히 조절한다.
⑪ Main Camera를 선택 후 Add Component 버튼을 클릭해 Skybox를 추가(1)하여 Skyboxes 안의 메터리얼을 넣어준다.(2)
③ 햇빛이 비추는 Flare 효과를 넣으려면 Assets > Import Package > Light Flare 임포트, Directional Light를 선택하고 Component > Effect > Lens Flare를 적용, 임포트한 애셋에 3개 정도의 Flare 중 하나를 넣어준다.
(5) NGUI로 로고와 버튼 만들기
① Assets > Import Package > Custom Package를 클릭해 NGUI 애셋을 임포트 한다.(첨부 파일 ngui_free.unitypackage)
② NGUI > Create a New UI 클릭하여 기본 UI 생성한다.
(6-1) Playmaker로 카메라 이동하기
① 카메라가 천천히 섬쪽으로 이동하는 상태를 만들 것이다.
⑤ GameObject > Create Empty를 클릭하여 'Start Position' 빈 게임오브젝트를 생성한다. 마지막 포인트의 포지션 값을 알기 위해 가상으로 만든 게임오브젝트이다.
⑥ move camera 상태에 iTween Move To 액션을 추가한다. Start Position를 Transform Position에 넣고, Time을 100으로 변경한다.
① NGUI의 Button을 선택 후 listen click, clicked 상태를 추가한다.
④ listen click 상태에 Get Mouse Button Down 액션을 추가하고 Button에 Left, Send Event OnClick를 선택한다.
⑤ clicked 상태에 Load Level 액션을 추가한다. Level Name에 본 게임으로 이동할 씬이름인 gameScene를 넣어준다.
⑥ File > Build Settings 클릭하여 씬을 등록해줘야 씬간 이동이 가능하다.
(7) 빌드 / 실행
① 웹플레이어에서 실행 할 수 있도록 하기 위해 File > Build Settings 클릭하여 Platform에 Web Player 선택(1) Build 버튼을 클릭(2)한다.
② startScene라는 폴더명을 생성하여 폴더 선택을 클릭하여 빌드한다.
(1) 새 프로젝트 / 씬 저장
① File > New Project...를 클릭하여 IntroGame명으로 프로젝트를 시작한다.
② Scenes 폴더를 만든 후 안에 인트로 씬인 introScene과 게임으로 갈 씬인 gameScene 씬을 각각 저장 해둔다.
③ 현재 씬이 introScene인지 확인하고 아니라면 프로젝트뷰에서 방금 저장한 introScene을 더블클릭, 또는 선택 후 인스펙터 뷰에서 Open 버튼을 클릭하여 introScene으로 변경한다.
(2) 해상도, 카메라 셋팅
① 웹에서 실행해보도록 할 것이므로 해상도는 640x480로 변경할 것이다.
② File > Build Settings > Player Settings > Settings for Web Player에서 해상도를 수정한다.
③ 카메라 셋팅, Main Camera > Clipping Planes < Far를 작은 수치로 적당히 조절해 둔다. 이유는 Camera의 Far의 역활을 알기 위해서 이다.
④ 게임뷰 > 해상도를 640x480으로 맞춘다. 항목이 없다면 클릭해 추가해서 맞춘다.
(3) 지형 만들기(Terrain, Water(Basic), Skybox)
① Assets > Import Package > Terrain Assets를 클릭해 애셋을 임포트 한다.
② GameObejct > Create Other > Terrain을 클릭하여 Terrain용 Plan을 생성하여 Terrain 이름을 'ground'로 변경한다.
② GameObejct > Create Other > Terrain을 클릭하여 Terrain용 Plan을 생성하여 Terrain 이름을 'ground'로 변경한다.
③ Paint Texture > Edit Textures > Texture에서 텍스쳐를 골라주어 Add(4)한다.
④ 지형을 만들고(1), 나무와 풀을 심어준다.(2)
클릭은 생성, shift + 클릭은 삭제이다. 그리고 씬을 자주 저장하는 것을 잊지 말자.
⑤ 물을 만들 Assets > Import Package > Water (Basic) 애셋을 임포트 한다.
⑥ Standard Assets > Water (Basic) > Sources > Object >Water Plane을 하이어라키 뷰에 드래그&드롭 한다.
⑦ Position과 Scale 이용하여 Water Plane을 배치 시켜준다.
⑧ 텍스쳐를 넣어주고(1), Tiling에 적절한 수치를 넣어준다.(2)
⑨ 씬 뷰에서 보고 있는 뷰를 Camera에 적용시킨다. Main Camera를 선택 후 GameObject > Align With View를 클릭하여 카메라의 위치를 적절히 조절한다.
하지만 게임 뷰에선 아무것도 보이지 않는다. 그 이유에 처음에 카메라 셋팅할 때 Far의 수치를 낮췄기 때문에 보이지 않는다. Far의 수치를 높혀보면 이제 보일 것이다.
⑩ Assets > Import Package > Skyboxes 애셋을 임포트한다.
⑩ Assets > Import Package > Skyboxes 애셋을 임포트한다.
⑪ Main Camera를 선택 후 Add Component 버튼을 클릭해 Skybox를 추가(1)하여 Skyboxes 안의 메터리얼을 넣어준다.(2)
(4) Light 셋팅
① GameObject > Create Other > Directional Light를 생성한다.
① GameObject > Create Other > Directional Light를 생성한다.
② 태양과 같은 직선광이므로 위치는 상관없지만 각을 적절히 맞춘다.
③ 햇빛이 비추는 Flare 효과를 넣으려면 Assets > Import Package > Light Flare 임포트, Directional Light를 선택하고 Component > Effect > Lens Flare를 적용, 임포트한 애셋에 3개 정도의 Flare 중 하나를 넣어준다.
(5) NGUI로 로고와 버튼 만들기
① Assets > Import Package > Custom Package를 클릭해 NGUI 애셋을 임포트 한다.(첨부 파일 ngui_free.unitypackage)
② NGUI > Create a New UI 클릭하여 기본 UI 생성한다.
③ Panel을 선택 후 NGUI > Create a Widget 클릭, 예제인 SciFi에서 프리팹(박스 아이콘)을 각각 Atlas와 Font에 넣어주고(1), Template에 Label 선택 후 위젯을 추가한다.
④ Label에 로고가 될 'SURVIVAL'을 입력하고, 게임 뷰를 확인 하면서 적당한 위치와 스케일을 주고 색상도 넣어본다.
⑤ Panel(1)을 선택 후 NGUI > Create a Widget, Template에 Button 선택(2)하여 위젯을 추가(3)한다.
⑥ 버튼을 적당한 위치에 둔다.
⑤ Panel(1)을 선택 후 NGUI > Create a Widget, Template에 Button 선택(2)하여 위젯을 추가(3)한다.
⑥ 버튼을 적당한 위치에 둔다.
⑦ Button의 Label에서 버튼 안의 이름도 바꾸고, 색상을 바꾼다. Color Tint에서도 넣을 수 있지만 텍스트 입력 앞에 HTML 태그 형태인 [FFFFFF] 넣어 라인별로 색상을 변경할 수 있다.
(6-1) Playmaker로 카메라 이동하기
① 카메라가 천천히 섬쪽으로 이동하는 상태를 만들 것이다.
첨부파일을 프로젝트 뷰에 드래그&드롭을 해 Playmaker를 임포트한다. (첨부파일 playmaker1.4.unitypackage)
② PlayMaker > PlayMaker Editor를 클릭해 playMaker창을 연다.
③ Main Camera를 선택하여 playMaker 창에서 move camera, stop 상태를 추가한다.
④ move camera 상태를 우클릭하여 FINISHED 이벤트를 선택하고 stop 상태에 연결(transition)한다.
⑤ GameObject > Create Empty를 클릭하여 'Start Position' 빈 게임오브젝트를 생성한다. 마지막 포인트의 포지션 값을 알기 위해 가상으로 만든 게임오브젝트이다.
⑥ move camera 상태에 iTween Move To 액션을 추가한다. Start Position를 Transform Position에 넣고, Time을 100으로 변경한다.
(6-2) 'Start Game' 버튼으로 씬 이동
① NGUI의 Button을 선택 후 listen click, clicked 상태를 추가한다.
② 마우스 제어를 하기 위한 Button에 UIEventsToPlaymakerFSM.cs(첨부파일) 스크립트를 컴포넌트 추가한다.
③ 이벤트 'OnClick' 생성, listen click 상태에 OnClick 이벤트를 넣는다.
④ listen click 상태에 Get Mouse Button Down 액션을 추가하고 Button에 Left, Send Event OnClick를 선택한다.
⑤ clicked 상태에 Load Level 액션을 추가한다. Level Name에 본 게임으로 이동할 씬이름인 gameScene를 넣어준다.
⑥ File > Build Settings 클릭하여 씬을 등록해줘야 씬간 이동이 가능하다.
(7) 빌드 / 실행
① 웹플레이어에서 실행 할 수 있도록 하기 위해 File > Build Settings 클릭하여 Platform에 Web Player 선택(1) Build 버튼을 클릭(2)한다.
② startScene라는 폴더명을 생성하여 폴더 선택을 클릭하여 빌드한다.
③ startScene폴더 안에 startScene.html, startScene.unity3d 파일이 생성되었고, startScene.html을 웹브라우져에서 실행하면 웹브라우져에서도 플레이가 가능하다.
<참고 서적> unity 3.x Game Development Essentials
- ngui_free.unitypackage (4.4MB) (10)
- playmaker1.4.unitypackage (1.1MB) (9)
- uieventstoplaymakerfsm.cs (2.3KB) (10)
- intro.unitypackage (55.1MB) (9)
댓글 0개
| 엮인글 0개
146개(5/8페이지)
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
유니티 강좌 모음(영문) | 푸딩뱃살 | 60305 | 2013.08.28 12:02 | |
유니티 경고, 에러 모음 (재정리 예정) [1+1] | 푸딩뱃살 | 71109 | 2013.08.12 00:09 | |
64 | [정보] Unity 크리스마스/연말 업데이트 소식 | 푸딩뱃살 | 4376 | 2015.01.05 11:56 |
63 | [유니티] 유니티 폴더 구성 | 푸딩뱃살 | 4541 | 2015.01.03 12:34 |
62 | [유니티] Animation 컴포넌트 | 푸딩뱃살 | 5515 | 2014.12.14 17:04 |
61 | [애셋] (링크) NGUI 팁 | 푸딩뱃살 | 4731 | 2014.08.20 01:47 |
60 | [정보] Visual Studio 플러그인 UnityVS 소식 | 푸딩뱃살 | 6123 | 2014.07.03 23:12 |
59 | [유니티] Rigidbody / Physic Material 컴포넌트 | 푸딩뱃살 | 9273 | 2014.04.20 15:13 |
58 | [유니티] 텍스쳐(Texture), 매터리얼(Material), 쉐이더(Shader), 라이트(Light) | 푸딩뱃살 | 18046 | 2014.03.27 02:31 |
57 | [유니티] 3D 슈팅게임 만들기 | 푸딩뱃살 | 6778 | 2014.03.09 22:05 |
56 | [참고] 3D Package Support | 푸딩뱃살 | 4418 | 2014.02.19 02:57 |
55 | [유니티] 유니티 '막강좌' - 8. C# 기초 | 푸딩뱃살 | 8393 | 2014.02.07 22:08 |
54 | [유니티] 유니티 '막강좌' - 7. 프로그래밍 Java? C#? Boo? | 푸딩뱃살 | 6484 | 2014.02.07 17:26 |
>> | [유니티] 유니티 '막강좌' - 6. 게임 제작 맛보기 (게임 시작씬 제작) | 푸딩뱃살 | 14963 | 2014.02.05 02:10 |
52 | [참고] 유니티에 대한 이야기 | 푸딩뱃살 | 3755 | 2014.02.05 02:02 |
51 | [유니티] 유니티 '막강좌' - 5. 많이 사용되는 용어 정의 | 푸딩뱃살 | 6459 | 2014.02.05 02:00 |
50 | [유니티] 유니티 '막강좌' - 4. 꼭 알고 있어야 할 사항 | 푸딩뱃살 | 5793 | 2014.02.05 01:22 |
49 | [유니티] 유니티 '막강좌' - 3. 인터페이스 | 푸딩뱃살 | 5434 | 2014.02.02 15:34 |
48 | [유니티] 유니티 '막강좌' - 2. FSM, 순서도(Flow Chart) | 푸딩뱃살 | 9812 | 2014.01.31 01:36 |
47 | [애셋] PlayMaker - Cube 날리기 | 푸딩뱃살 | 8874 | 2014.01.25 17:48 |
46 | [애셋] NGUI & PlayMaker - Counter Button | 푸딩뱃살 | 6040 | 2014.01.25 17:09 |
45 | [유니티] 유니티 '막강좌' - 1. 공간의 개념 (2D, 3D) | 푸딩뱃살 | 9291 | 2014.01.24 02:26 |