회원 로그인
정보기억 정보기억에 체크할 경우 다음접속시 아이디와 패스워드를 입력하지 않으셔도 됩니다.
그러나, 개인PC가 아닐 경우 타인이 로그인할 수 있습니다.
PC를 여러사람이 사용하는 공공장소에서는 체크하지 마세요.
소셜네트워크 서비스를 통해서 로그인하시면 별도의 로그인 절차없이 회원서비스를 이용하실 수 있습니다.


최근 게시물

1.노션에서 작성 중

1.노션에서 작성 중

개편하기 전까지 노션에서 작성 중

2024.04.04//read more

2.ChatGPT

2.ChatGPT

OpenAI로 대규모 언어 모델대화형...

2023.03.16//read more

3.노코딩 게임 엔진 - 빌..

3.노코딩 게임 엔진 - 빌..

빌드 지원안드로이드iOS윈도우즈특이사...

2023.03.14//read more

4.(완료) 미접속 회원 정..

4.(완료) 미접속 회원 정..

[완료] 36명의 회원을 정리하였습니...

2023.02.16//read more

5.매뉴얼 플러스 - 전자제..



안정적인 DNS 서비스 DNSEver
DNS Powered by DNSEver.com


유니티 '막강좌' - 6. 게임 제작 맛보기 (게임 시작씬 제작)

푸딩뱃살 | 2014.02.05 02:10 | 조회 14962
유니티 '막강좌'

차례
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 애셋으로 게임 인트로를 만들어 보겠다.
    바다 위의 무인도를 만들고, 게임 제목의 로고를 이용해 게임 인트로를 만들 것이다. 

    (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'로 변경한다.

        
        ③ 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 애셋을 임포트한다.


        ⑪ Main Camera를 선택 후 Add Component 버튼을 클릭해  Skybox를 추가(1)하여 Skyboxes 안의 메터리얼을 넣어준다.(2)

    (4) 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)한다.

        
        ⑥ 버튼을 적당한 위치에 둔다. 

        ⑦ 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
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