[Unity] 자습서 2장 - 게임 스테이지 제작(Mac)

2023. 2. 21. 15:00·개발/Unity

이번 자습에서 실습할 내용은 3인칭 시점 슈팅 게임 개발이다. 책은 '절대 강좌 유니티 - 이재현' 을 바탕으로 실습하였다.

 

프로젝트 뷰는 게임 개발에 사용하는 모든 리소스가 저장되는 곳으로, 개발을 진행할수록 많은 리소스가 나열된다. 처음부터 체계적으로 관리해야 하기 때문에 종류에 따라 폴더로 분류해서 관리하기 위해 폴더를 생성해 주었다.

 

 

실습을 진행하기 위해 MADFINGER Games 사에서 개발한 "ShadowGun:Deadzone" 캐릭터 에셋과 텍스쳐, 하늘 배경 등 여러가지 에셋들을 '에셋 스토어' 에서 다운받는다. 에셋스토어는 상단 메뉴 Window -> Asset Store에서 들어갈 수 있다.

 

바닥 생성 및 배치

게임의 바닥을 제작하기 위하여 3D object 의 plane을 하나 생성해준다. 메뉴에서 [GameObject] -> [3D Object] -> [Plane]을 선택하면 씬 뷰에 Plane이 배치된다.

 

3D Object 의 Capsule 도 하나 생성하여 주고 Plane 크기를 (5, 5, 5)로 설정하였다. 크기 및 위치, 회전값 등은 제일 우측 Inspector 뷰에서 설정할 수 있다.

 

텍스처

텍스처(Texture)란 3D 모델의 표면에 매핑시킬 이미지 파일을 지칭한다. 마네킹에 다양한 옷을 입힐 수 있는 것처럼 3D 모델에 텍스처를 입힌다고 생각하면 이해하기 쉽다. 텍스처는 사전에 에셋 스토어에서 다운받은 텍스처를 이용하였다.

 

머티리얼

3D 모델에 텍스처를 적용하려면 3D 모델과 텍스처 사이에 반드시 머티리얼(Material)이라는 매개체가 필요하다. 머티리얼은 3D 모델에 적용할 텍스처의 다양한 속성을 설정하는 역할을 한다. 즉 "어떤 텍스처를, 어떤 간격으로 반복하고, 표면의 재질은 어떻게 표현하느냐" 등의 속성을 설정한다. 

프로젝트 뷰에서 04.Images 의 하위 폴더로 Materials 폴더를 생성한다. Materials 폴더를 마우스 오른쪽 버튼을 클릭한 후 팝업된 컨텍스트 메뉴에서 [Create] -> [Material]을 선택하면 새로운 머티리얼이 생성된다.

 

생성된 머티리얼의 이름을 Floor 로 지정한 후 텍스처 이미지를 지정한다. 텍스처 파일안에 있는 텍스처 이미지중 diffuse 이미지를 Albedo 슬롯으로 드래그 앤 드롭해 연결하고 normal 이미지는 Normal Map 슬롯에 연결한다.

머티리얼을 Plane의 Materials 에 등록한 모습

 

벽 만들기

이제 Floor 게임오브젝트의 네 군데 모서리에 배치할 벽을 만들어 배치할 차례이다. 3D Object의 cube를 하나 생성하고 Wall로 이름을 변경한 뒤 크기를 바닥의 크기에 맞게 조절하여 벽을 생성하였다. 4면의 벽을 만들어 줄 것이기 때문에 4 개로 복사해주었다.

 

프리팹

프리팹(Prefab)의 사전적 의미는 조립식 주택 또는 미리 부품을 만들어 놓고 현장에서는 조립만 하는 건축기법을 의미한다. 즉, 자주 사용하는 객체를 미리 부품처럼 만들어 놓고 재사용할 수 있게 하는 것이다.

유니티에서의 프리팹은 복사가 가능한 원본의 개념으로, 프리팹을 복제해서 만든 복사본의 속성은 원본의 속성과 일치한다. 따라서 원본 프리팹을 수정하면 그 복사본은 수정 사항이 자동으로 일괄적으로 적용되는 특성이 있다.

Hierarchy 뷰에서 생성한 오브젝트를 Project뷰로 끌고 오면 프리팹을 만들 수 있다.

 

하늘 표현 방식

게임에서 하늘을 표현하는 대표적인 방식으로는 skybox와 skydome이 있다. skybox는 카메라가 볼 수 있는 하늘의 여섯 방면의 이미지를 Cube형태로 배치해 표현한다. 반면 skydome은 돔 형태의 메시에 하늘의 이미지 텍스처를 입혀 구현한다.

skybox 적용 모습

 

이렇게 게임의 무대가 되는 스테이지를 제작을 완료하였다.

'개발 > Unity' 카테고리의 다른 글

[Unity] 자습서 6장 - 적 캐릭터 구현  (0) 2023.02.28
[Unity] 자습서 5장 - 코루틴, 오디오  (0) 2023.02.24
[Unity] 자습서 4장 - 총 발사 로직(Mac)  (0) 2023.02.22
[Unity] 자습서 3장 - 캐릭터 제작(Mac)  (0) 2023.02.21
[Unity] 자습서 1장 - Unity 시작하기(Mac)  (0) 2023.02.20
'개발/Unity' 카테고리의 다른 글
  • [Unity] 자습서 5장 - 코루틴, 오디오
  • [Unity] 자습서 4장 - 총 발사 로직(Mac)
  • [Unity] 자습서 3장 - 캐릭터 제작(Mac)
  • [Unity] 자습서 1장 - Unity 시작하기(Mac)
Majangnan
Majangnan
  • Majangnan
    개발 모코코
    Majangnan
  • 전체
    오늘
    어제
    • 분류 전체보기 (55)
      • 개발 (54)
        • C# (10)
        • SQL (3)
        • Unity (8)
        • Unreal (10)
        • C++ (2)
        • Server (1)
        • DX11 (8)
        • 알고리즘 (11)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 깃허브
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준
    코딩테스트
    알고리즘
    C#
    UnReal
    3dlight
    c++
    상속
    DX11
    blueprint
    슈팅게임
    sql
    프로그래머스
    Unity
    DirectX11
    Mecanim
    언리얼
    MAC
    블루프린트
    dx3d
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Majangnan
[Unity] 자습서 2장 - 게임 스테이지 제작(Mac)
상단으로

티스토리툴바