3D 게임 만들기(1)
이전에 저희는 2D 플랫포머 게임을 만들어 보면서 유니티로 게임 만드는 방법과 감각을 터득했습니다. 추가적으로 유니티에서 활용될 수 있는 다양한 요소를 정리하여 사용할 수 있는 기능의 범위도 더욱 넓어졌습니다. 이제 2D가 아닌 3D 프로젝트를 생성하여 게임을 만드는 것에 대해 이야기를 해볼까 합니다.
3D 프로젝트 기본구조
3D 게임을 만들기 위해선 역시 3D 프로젝트를 생성해야 합니다. 기본 탬플릿으로 유니티 허브에 있는 3D 프로젝트를 생성하면, 위 사진과 같은 화면으로 구성된 프로젝트가 생성됩니다. 화면의 레이아웃은 사용자마다 다를 수 있습니다.
3D 프로젝트를 생성하면 샘플 씬 위에 두가지가 기본적으로 생성됩니다. Main Camera와 Directional Light 입니다.
이전에 유니티 활용 에서도 이야기 했었지만, 다시 간략하게 말씀드리면 게임에서 바라보는 시각을 나타내는 것이 카메라, 게임에서의 광원, 즉 빛의 표현을 하는 것이 라이트 입니다. 카메라와 라이트 둘 다 다른종류도 존재하지만, 3D 프로젝트를 생성하면 저 두가지가 기본으로 생성됩니다.
Gizmo(기즈모)
2D 게임을 만들 때도 사용했지만, 3차원의 공간을 다루는 데에 있어서 유니티에 꼭 필요한 기즈모에 대해서 먼저 설명드리겠습니다.
유니티의 기즈모(Gizmo)는 에디터 상에서 씬 뷰(Scene View)나 게임 뷰(Game View)에서 오브젝트를 선택했을 때 나타나는 시각적인 표시입니다. 기즈모는 선택한 오브젝트의 위치, 회전, 크기 등을 시각적으로 보여주며, 이를 통해 유니티 에디터에서 더욱 쉽게 오브젝트를 조작하고 편집할 수 있습니다. 기즈모의 (X, Y, Z) 좌표는 삼원색인 (R,G,B)로 표시됩니다.
기즈모는 다양한 타입이 있으며, 사용자가 직접 만들어 사용할 수도 있습니다. 기본적으로 유니티에서 제공하는 기즈모에는 다음과 같은 것들이 있습니다.
- 이동 기즈모
선택한 오브젝트의 위치를 조절할 때 사용하는 기즈모입니다. 화살표 모양으로 되어 있으며, X, Y, Z 축에 따라 오브젝트를 이동시킬 수 있습니다.
- 회전 기즈모
선택한 오브젝트의 회전을 조절할 때 사용하는 기즈모입니다. 원형으로 되어 있으며, 마우스 드래그를 통해 오브젝트를 회전시킬 수 있습니다.
- 크기 조절 기즈모
선택한 오브젝트의 크기를 조절할 때 사용하는 기즈모입니다. 박스 모양으로 되어 있으며, X, Y, Z 축에 따라 오브젝트의 크기를 조절할 수 있습니다.
- 편집 기즈모
선택한 오브젝트를 편집할 때 사용하는 기즈모입니다. 이동, 회전, 크기 조절 등을 하나의 기즈모에서 모두 처리할 수 있습니다.
기즈모는 더욱 다양한 방식으로 사용될 수 있으며, 예를 들어 특정 스크립트에서 원하는 형태의 기즈모를 만들어 사용할 수도 있습니다. 이를 통해 사용자가 원하는 방식으로 오브젝트를 편집할 수 있으며, 게임 제작을 보다 쉽고 효율적으로 할 수 있습니다.
Material(머티리얼)
유니티에서 머티리얼(Material)은 3D 모델이나 2D 스프라이트 등에 적용할 수 있는 렌더링 속성의 모음입니다. 머티리얼은 모델이나 스프라이트의 색상, 텍스처, 광택, 반사, 그림자 등의 렌더링 특성을 결정하는 데 사용됩니다. 이러한 머티리얼은 유니티의 에디터 상에서 간단한 드래그 앤 드롭을 통해 쉽게 적용할 수 있습니다.
유니티에서 제공하는 머티리얼은 Standard Shader를 기반으로 한 다양한 종류가 있습니다. 머티리얼을 적용할 오브젝트를 선택하고, Inspector 창에서 Materials 속성에 있는 Add 버튼을 클릭하여 새로운 머티리얼을 추가할 수 있습니다. 추가된 머티리얼은 Inspector 창에서 수정할 수 있으며, 색상, 텍스처, 광택, 반사 등 다양한 렌더링 속성을 설정할 수 있습니다.
머티리얼은 ShaderLab 언어를 사용하여 직접 만들 수도 있습니다. ShaderLab은 유니티에서 제공하는 셰이더(Shader) 작성 언어로, 새로운 머티리얼을 만들거나 기존 머티리얼의 렌더링 속성을 커스터마이징할 수 있습니다.
머티리얼은 게임의 시각적인 품질에 큰 영향을 미치기 때문에, 머티리얼의 속성을 효과적으로 활용하여 게임의 그래픽 퀄리티를 높일 수 있습니다. 또한, 적절한 머티리얼 사용은 게임의 최적화에도 도움을 줄 수 있습니다. 따라서 머티리얼은 게임 제작에서 매우 중요한 역할을 합니다.
<NEXT>
게임제작에 나서기 전에, 3D 프로젝트에서 2D와는 다른 방식으로 사용되는 것들이 있는데 그 중 Gizmo와 Material에 대해서 잠깐 알아보았습니다. 다음부터는 2D 플랫포머 게임 만들기 처럼 예제 게임을 만들어 보는 시간을 가지겠습니다. 감사합니다.
'게임 프로그래밍 > 게임개발 중급' 카테고리의 다른 글
게임개발 중급(23) - 3D 게임 만들기(3) (0) | 2023.05.13 |
---|---|
게임개발 중급(22) - 3D 게임 만들기(2) (0) | 2023.05.12 |
게임개발 중급(20) - 유니티 엔진 활용(3) (0) | 2023.05.10 |
게임개발 중급(19) - 유니티 엔진 활용(2) (0) | 2023.05.08 |
게임개발 중급(18) - 유니티 엔진 활용(1) (0) | 2023.05.07 |