1. Unity Editor Interface
Unity Editor는 유니티 엔진의 주요 개발 환경으로, 게임과 같은 콘텐츠를 만들기 위한 툴입니다. Unity Editor를 사용하여 3D 및 2D 게임 환경을 시각적으로 구성하고, 오브젝트를 배치하고, 스크립트를 적용하고, 게임을 테스트하고, 빌드할 수 있습니다. Unity Editor에는 6개의 주요 창이 있습니다. Scene View, Game View, Hierarchy, Inspector, Project, Console 입니다. 이 창들은 아래 이미지와 같은 기본형태를 가지고 있지만 사용자가 편하게 레이웃을 변경할 수도 있습니다.
1.2 프로젝트(Project) 창
프로젝트 창은 유니티에서 프로젝트에 포함된 모든 에셋을 보여주는 창입니다. 이 창은 개발자가 손쉽게 원하는 에셋을 찾아서 사용할 수 있도록 해줍니다. 그래서 프로젝트창은 에셋 라이브러리라고 생각할 수 있습니다. 여기에서 에셋은 스크립트, 3D 모델, 텍스처, 오디오 파일, 프리팹, 애니메이션 등 프로젝트에 사용되는 모든 파일을 통칭하는 말입니다.
프로젝트창 상단에는 검색창이 있습니다. 이를 통해 특정 에셋을 쉽게 찾을 수 있습니다. 이름뿐만 아니라 에셋의 종류(스크립트, 텍스처 등)로도 검색이 가능합니다. 또한 프로젝트 창에는 뷰 옵션을 가지고 있어 그리드 뷰로 보거나 리스트 뷰로 볼 수 있습니다. 그리드 뷰는 주로 이미지나 모델 등의 에셋을 미리보기 할 때 유용하며, 리스트 뷰는 텍스트 기반의 에셋을 보기 좋습니다.
에셋을 선택하면, 그 에셋의 상세 정보를 볼 수 있습니다. 이 정보는 해당 에셋의 이름, 유형, 크기, 생성 날짜 등을 포함하고 있습니다. 또한 에셋을 더블클릭하면 그 에셋을 편집할 수 있는 적절한 에디터가 열립니다.(예를 들어 스크립트를 더블 클릭하면 코드 에디터가 열립니다.)
에셋을 드래그 앤 드롭으로 원하는 위치로 옮길 수 있습니다. 또한 에셋에 마우스 오른쪽 버튼을 클릭하면 다양한 옵션을 통해 에셋을 조작할 수 있습니다. (예를 들어, 에셋을 복제하거나, 삭제하거나, 이름을 변경하거나, 에셋의 위치를 바꾸거나 등이 있습니다.)
1.2 콘솔(Console)창
콘솔 창은 프로그램 실행 도중 발생하는 오류, 경고, 정보 메시지를 출력하는 창입니다. 여기서 출력되는 메시지는 대부분 스크립트에서 Debug.Log, Debug.LogWaring, Debug.LogError 등의 메서드를 통해 출력되는 메시지입니다. 콘솔 창은 디버깅 및 문제 해결에 있어 필수적인 도구입니다.
로그 메시지는 프로그램 실행 중에 Debug.Log 메서드를 호출하여 출력되는 일반 정보 메시지입니다. 일반적인 용도로는 프로그램의 진행 상황을 확인하거나 변수의 값을 확인하는데 사용됩니다. 경고 메시지는 Debug.LogWarning 메서드를 호출하여 출력되는 경고 메시지입니다. 주로 문제가 될 수 있는 상황을 알리는데 사용됩니다. 오류 메시지는 Debug.LogError 메서드를 호출하여 출력되는 오류 메시지입니다. 프로그램의 실행을 방해하는 심각한 문제가 발생했음을 나타냅니다.
메시지 필터링는 콘솔 창 상단에는 로그, 경고, 오류 메시지를 필터링하는 버튼이 있습니다. 이를 통해 원하는 유형의 메시지만 볼 수 있습니다.
메시지 상세 정보 메시지를 클릭하면 메시지의 전체 내용과 그 메시지가 발생한 스크립트와 줄 번호를 확인할 수 있습니다. 이 정보는 문제의 원인을 찾는 데 매우 유용합니다. 또한 자동 스크롤 콘솔 창은 기본적으로 새로운 메시지가 출력될 때마다 스크롤이 자동으로 아래로 이동합니다. 이는 실시간으로 로그를 확인하려는 경우에 유용하지만, 때때로 방해가 될 수도 있습니다. 이럴 때는 자동 스크롤 옵션을 해제할 수 있습니다.
1.3 계층(Hierarchy)창
Unity의 계층 창(Hierarchy Window)은 현재 씬(Scene)에 있는 모든 게임 오브젝트를 나열하여 보여줍니다. 이는 물리적 구조뿐만 아니라 로직적 계층 관계를 표현하는데도 사용됩니다.
게임 오브젝트 간에는 부모-자식 관계를 형성할 수 있습니다. 이 관계는 계층 창에서 들여쓰기로 표시되며, 부모 게임 오브젝트가 이동하거나 회전하면 자식 게임 오브젝트도 함께 이동하거나 회전합니다.
계층 창을 통해 새로운 게임 오브젝트를 생성하거나 기존 게임 오브젝트를 삭제할 수 있습니다. 새로운 게임 오브젝트는 기본적으로 빈 게임 오브젝트로 생성되지만, Light, Camera, 3D Object 등 특정 유형의 게임 오브젝트를 생성할 수도 있습니다. 계층 창 상단에는 검색 창이 있습니다. 이를 통해 게임 오브젝트의 이름으로 검색할 수 있습니다. 또한 Ctrl(또는 Cmd)키를 누른 상태에서 여러 개의 게임 오브젝트를 선택하면, 그들을 함께 조작할 수 있습니다. 이는 여러 게임 오브젝트를 동시에 이동하거나 삭제하는 데 유용합니다.
1.4 씬(Scene) 뷰
Unity의 씬 뷰(Scene View)는 개발자가 게임의 3D 환경을 직접 시각화하고 조작할 수 있는 창입니다. 씬 뷰는 3D 환경을 표시하거나 2D 환경을 표시하는 데 사용할 수 있습니다. 이는 상단의 툴바에서 간단하게 전환할 수 있습니다. 그리고 씬 뷰에서는 게임 오브젝트를 직접 드래그하거나 회전시키거나 크기를 조절하여 위치와 모양을 조절할 수 있습니다. 이 조작은 상단 툴바의 Move, Rotate, Scale 도구를 통해 수행할 수 있습니다.
씬 뷰에서는 카메라의 위치를 자유롭게 이동하거나 회전시켜 다양한 시점에서 게임 환경을 볼 수 있습니다. 카메라 조작은 마우스와 키보드를 사용하여 수행할 수 있습니다. 그리고 게임 오브젝트를 클릭하면 해당 오브젝트가 선택되고, Inspector 창에서 해당 오브젝트의 상세 정보를 확인할 수 있습니다. 또한, F 키를 누르면 선택한 오브젝트에 초점을 맞출 수 있습니다.
씬 뷰에는 여러가지 역할을 하는 도구가 있습니다. 첫 번째로 Gizmos입니다. Gizmos는 씬 뷰에서 특별한 역할을 하는 오브젝트를 시각적으로 강조하기 위한 도구입니다. 예를 들어, 카메라나 조명 등의 오브젝트는 Gizmos를 통해 쉽게 식별할 수 있습니다.
두 번째로 Skybox와 그리드를 표시하는 기능입니다. 씬 뷰의 배경에는 Skybox가 표시되며, 이는 Scene Settings에서 변경할 수 있습니다. 또한, 그리드를 통해 공간을 더 쉽게 이해할 수 있습니다.
세 번째로 렌더링 설정입니다. 씬 뷰의 상단 오른쪽에서는 씬의 렌더링 설정을 변경할 수 있습니다. 이를 통해 와이어프레임 뷰나 쉐이딩 뷰 등 다양한 방식으로 씬을 볼 수 있습니다.
씬 뷰는 게임이 실행 중일 때도 업데이트되므로, Play 모드에서 게임의 동작을 직접 확인할 수 있습니다. 하지만, Play 모드에서는 게임 오브젝트의 변경 사항이 저장되지 않으므로 주의가 필요합니다.
1.5 게임(Game)뷰
Unity의 게임 뷰(Game View)는 개발자가 게임을 플레이어의 시각으로 볼 수 있는 창입니다. 게임 뷰는 현재 활성화된 카메라를 통해 게임이 어떻게 보일지 미리 보여줍니다. 게임 뷰는 Unity 에디터 내에서 게임을 실행하여 실시간으로 테스트하는 데 사용됩니다. 이를 통해 개발 과정에서 게임의 동작과 인터랙션을 확인하고 조정할 수 있습니다. 게임 뷰의 상단 툴바에서는 게임을 표시하는 화면의 해상도와 비율을 변경할 수 있습니다. 이를 통해 다양한 디바이스와 환경에서 게임이 어떻게 보일지 미리 확인할 수 있습니다.
1.6 인스펙터(Inspector)창
Unity의 인스펙터 창(Inspector Window)은 선택한 오브젝트의 세부 정보와 속성을 보고 수정할 수 있는 창입니다. 씬에서 게임 오브젝트를 클릭하면, 그 오브젝트에 대한 정보가 인스펙터 창에 표시됩니다. 인스펙터 창을 통해 오브젝트의 모든 속성을 확인하고 수정할 수 있습니다. 예를 들어, 게임 오브젝트를 선택하면 그 오브젝트의 위치, 회전, 크기 등의 변형 속성을 확인하고 수정할 수 있습니다. 또한 인스펙터 창에서는 컴포넌트를 추가하거나 삭제하거나 수정할 수 있습니다. 예를 들어, 물리적 동작을 추가하려면 Rigidbody 컴포넌트를 추가하고, 그 컴포넌트의 속성을 인스펙터 창에서 수정하면 됩니다.
게임 오브젝트에 연결된 스크립트의 public 변수를 인스펙터 창에서 확인하고 수정할 수 있습니다. 또한, 스크립트의 이름을 클릭하면 코드 에디터에서 해당 스크립트를 열어 볼 수 있습니다. 그리고 여러 오브젝트를 선택하면 인스펙터 창에서는 그 오브젝트들의 공통 속성만을 표시합니다. 이 상태에서 속성을 변경하면 선택한 모든 오브젝트에 동일한 변경이 적용됩니다. 또한 인스펙터 창의 우측 상단에는 락 버튼이 있습니다. 이 버튼을 클릭하여 인스펙터 창을 락하면, 다른 오브젝트를 선택하더라도 인스펙터 창의 내용이 변경되지 않습니다. 이 기능은 한 오브젝트의 속성을 계속 확인하거나 수정해야 할 때 유용합니다.
2. Unity Editor Tools
2.1 Transform Tools
Transform Tools는 씬 왼쪽에 위치합니다.(버전에 따라 다를 수 있습니다.) 이 도구들은 씬에서 게임 오브젝트를 조작하는 데 사용됩니다.
- Hand Tool (손모양 도구): 씬 뷰를 드래그하여 움직일 수 있게 합니다.
- Move Tool (이동 도구): 선택한 오브젝트를 이동시킬 수 있게 합니다.
- Rotate Tool (회전 도구): 선택한 오브젝트를 회전시킬 수 있게 합니다.
- Scale Tool (크기 조정 도구): 선택한 오브젝트의 크기를 조절할 수 있게 합니다.
- Rect Tool (사각형 도구): UI 요소나 2D 스프라이트의 크기와 위치를 조절할 수 있게 합니다.
2.2 Play, Pause, Step
Play, Pause, Step는 유니티 에디터의 상단 가운데 부분에 위치합니다. 이 버튼들은 게임의 실행과 테스트를 제어합니다.
- Play Button (재생 버튼): 게임을 실행하거나 정지시킵니다.
- Pause Button (일시 정지 버튼): 실행 중인 게임을 일시 정지하거나, 일시 정지한 게임을 다시 실행합니다.
- Step Button (한 단계 진행 버튼): 게임을 한 프레임씩 진행시킵니다.