정보공간_1

[2기 대구 김길종] Unity3D 기초 (1) 본문

IT 놀이터/Elite Member Tech & Talk

[2기 대구 김길종] Unity3D 기초 (1)

알 수 없는 사용자 2012. 9. 23. 17:28

Unity3D 기초 (1)

 

Unity3D는 최근 들어 새로운 버전이 나오면서 더욱 많은 이들에게 각광받고 있는 게임 개발용 3D 엔진|툴 입니다. 이미 많은 게임들이 유니티 엔진을 사용하여 만들어졌으며, 다른 엔진보다 싼 가격에도 불구하고 좋은 성능을 보여줍니다 (무료 버전도 있습니다). 여기에서는 유니티의 기초적인 인터페이스부터 차근차근 알아보려 합니다.

 

먼저 유니티의 인터페이스에 관해 볼 텐데 유니티 사용에 앞서 가장 기초가 되는 것이기 때문에 유니티로 프로젝트를 하고자 한다면 충분히 숙달될 필요가 있습니다.

 

유니티를 실행시키면 아래와 같은 창을 볼 수 있습니다.

 

<프로젝트 생성 및 열기>

 

Open Project로 이미 만들어진 프로젝트를 열 수 있으며 Create New Project로 새로운 프로젝트를 생성할 수 있습니다. 일단 예제를 참고하기 위해 미리 만들어진 프로젝트를 열어보도록 하겠습니다

 

<AngryBots 열기>

위의 AngryBots라는 프로젝트는 유니티를 처음 깔면 들어있는 간단한 게임 예제인데 생각보다 잘 만들어진 게임이기 때문에 참고용으로 좋습니다. 지금 당장 분석할 것은 아니지만 일단은 AngryBots를 열어보도록 하겠습니다.

 

<기본 화면>

처음 프로젝트를 만들거나 열면 위와 같은 화면을 볼 수 있습니다. 보시면 몇 개의 윈도우가 탭 형태로 떠있는데 이들을 뷰라고 합니다. 하나씩 살펴보도록 하겠습니다.

 

1) Toolbar 

 - 툴 바는 5개의 control를 가지며 이는 각각 에디터의 다른 부분들과 관련되어 있습니다. 왼쪽부터 차례대로 설명을 해보면 다음과 같습니다.

 

씬 뷰에서 화면이나 오브젝트의 이동, 회전에 사용됩니다

 씬 뷰의 표시 방법을 변경할 수 있습니다

 게임 뷰(프로젝트 실행시) 에서 사용됩니다.

 씬 뷰에 나열될 오브젝트들을 체크합니다

 레이아웃(뷰들의 배치 형태)을 변경할 수 있습니다

 

2) Scene

- Scene은 하나의 toolbox 입니다. 씬 뷰에서는 모든 게임 오브젝트들을 조작 할 수 있는데, 개발하면서 자신이 만든 것들을 직접 보면서 조작할 수 있기 때문에 잘만 사용한다면 생산성을 극적으로 향상시킬 수 있습니다.

- Unity에서 프로젝트의 가장 기본적인 구성 단위가 Scene 입니다. 하나의 Scene 만으로 프로젝트가 구성될 수 있고 여러개의 Scene을 넣을 수도 있습니다. 만약 Stage 가 10개 있다면 Scene을 10개 만들어 그것들을 체인지 시켜주는 방법을 사용할 수 있습니다.

 

<AngryBots의 Main Scene>

 

3) Game

- 게임 뷰는 씬 뷰에서 만들어낼 수 있는 카메라에 보여지는 부분이며실제 게임을 플레이 할 때 카메라에 비치는 장면이 게임 뷰에 나타나게 됩니다.

- Play Mode에서 툴바의 버튼을 사용하는데 차례대로 Play/Stop/Step 버튼으로, 모양을 보면 어떤 역할을 하는지 직관적으로 알 수 있습니다.

※ Play 중에 어떤 오브젝트의 속성을 변경해도 play가 끝나면 모두 원래대로 돌아오게 됩니다

 

<게임 뷰 컨트롤 바>

- Game 탭의 바로 아래에 있는 것으로 게임 뷰의 속성을 설정할 수 있습니다.

- 맨 왼쪽의 드롭다운 메뉴는 Aspect에 관련된 것으로 아래와 같이 게임 뷰 창의 aspect 비율을 다른 비율로 바꿀 수 있습니다. default는 free aspect 입니다.

<5:4>

<16:9>

- Maximize on play를 체크하면 플레이 버튼을 눌렀을 때 게임 뷰가 전체화면으로 변합니다

<Maximize on play>

 

- Stats 버튼을 누르면 렌더링 통계 윈도우를 화면에 띄워주는데 그래픽 성능을 최적화 할 때 유용하게 사용됩니다.

<Stats>

 

- 마지막의 Gizmos 토글을 클릭하면 씬 뷰에서 처럼 모든 기즈모들을 나타낼 수 있습니다. 기즈모에 관해서는 나중에 더 자세히 알아보도록 하겠습니다.

<Gizmos>

 

 

4) Project

- 유니티에서 모든 프로젝트는 Asset 폴더를 가지며 해당 폴더의 내용이 Project view에 표시됩니다. 내부적으로 asset과 관련된 메타데이터라는 것을 관리하고 있는데 외부에서 따로 조작하면 해당 데이터가 파괴될 위험이 있으므로 레퍼런스에서는 유니티 에디터 안에서만 asset을 관리하는 것을 권장하고 있습니다

- drag & drop을 이용하여 외부에서 유니티 에디터로 특정 소스를 추가할 수 있습니다

- Scene도 asset에 저장되므로 프로젝트 뷰에서 씬을 골라서 열 수도 있고 새로운 씬을 만들 수도 있습니다. 위 화면에서는 두 번째의 삼각형 모양의 아이콘을 지닌 AngryBots라는 파일이 Scene입니다. 더블 클릭하면 해당 씬이 씬 뷰에 나타나게 됩니다.

 

5) Hierarchy

- Hierarchy는 현재 씬에 있는 모든 GameObject를 포함합니다. 사용자가 어떤 오브젝트를 생성하건 Hierarchy에 나타나게 되며 관리할 수 있습니다. 3D model과 같은 asset 파일의 직접적인 인스턴스와 prefab(custom object, 유저가 유니티 상에서 생성가능) 역시 나타나게 됩니다.

- 유니티는 오브젝트간 parenting 이라는 개념이 있습니다. 다시 말하면 부모 자식이라는 개념이 존재하는 것입니다. Hierarchy 창에서 하나의 target 오브젝트를 다른 오브젝트로 drag & drop 하면 target 오브젝트를 해당 오브젝트의 자식으로 만들 수 있습니다. 자식은 부모의 동작과 회전을 상속받기 때문이 이것을 이용하여 여러 개의 오브젝트를 뭉쳐 다양한 오브젝트를 만들어낼 수 있습니다.

 

6) Inspector 

- 유니티의 오브젝트들은 다양한 요소들로 구성됩니다. Inspector는 메쉬, 사운드, 그래픽과 스크립트 등의 Component와 그 속성을 포함하는 현재 선택된 GameObject의 정보를 표시하는데 이 곳에서 속성을 변경할 수도 있습니다. Script 내부의 public 변수도 나타나기 때문에 변수의 값도 직접적으로 조절할 수 있는데, 속성이 변하는 것을 씬 뷰/게임 뷰에서 곧바로 확인할 수 있으므로 다양한 실험을 가능하게 해 줍니다.

- 컴포넌트 위에서 마우스 오른쪽 클릭을 해보면 Rest, Remove가 나오는데 Reset은 해당 컴포넌트의 모든 값을 초기 값으로 돌리는 것이고 Remove는 컴포넌트를 즉시 삭제하는 기능입니다. 만약 Script Component 일 경우 스크립트를 편집하기 위한 Edit Script 메뉴가 하나 더 있습니다. (스크립트 편집은 더블클릭으로도 가능합니다)

 

이상으로 유니티에 관한 기본적인 인터페이스를 알아보았습니다. 그럼 다음에는 조금 더 내부로 들어가 보도록 하고 이번 글은 여기에서 마치겠습니다. 감사합니다.

 

Reference

http://korea.unity3d.com/ - 유니티 코리아 (유니티 공식 문서)