Unity
Unity 기초
한우종
2024. 10. 25. 19:18
유니티 주요 기능
- Asset 에셋 게임에 필요한 모든 리소스 (파일) 프로젝트의 에셋 폴더에 저장되며 유니티에서 사용 가능한 형식으로 가져와서 게임에 활용한다.
- Scene 씬 게임의 각 장면 또는 화면을 의미한다. 유니티에서 게임은 하나 이상의 씬으로 구성되며 각 씬은 게임의 특정 부분을 담당한다. 예를 들어 메뉴 씬 , 게임 플레이 씬 , 엔딩 씬 등
- GameObject 게임 오브젝트 씬에 배치되는 모든 요소를 의미한다. 게임 오브젝트는 에셋을 이용하여 씬에 생성되며 게임의 동작과 상호작용을 담당한다. 예를들어 캐릭터 , NPC , 아이템 , 장애물 등이 게임 오브젝트이다. 게임 오브젝트는 계층 구조로 구성되어 부모 - 자식 관계를 가지며 이를 통해 그룹화하고 조작할 수 있다.
유니티 인터페이스
- D = Scene 뷰 씬의 3D 또는 2D 뷰로 씬 구성 요소 편집
- C = Game 뷰 게임이 실제로 실행되는 뷰 , 플레이어가 게임을 플레이하는 화면을 실시간으로 확인할 수 있다.
- B = Hierarchy 뷰 현재 씬의 게임 오브젝트 계층 구조 표시 및 편집
- F = Inspector 뷰 선택된 게임 오브젝트의 속성 및 구성 요소 편집
- G = Project 뷰 프로젝트의 에셋 표시 및 관리
- Console 뷰 게임 실행 중의 로그 및 메시지 표시
유니티 마우스 조작법
- 마우스 왼쪽 클릭 게임 오브젝트 선택
- 마우스 오른쪽 클릭 w,s,a,d,q,e 키로 씬 뷰를 1인칭 이동 가능 , 드래그시 씬 뷰 회전
- 마우스 스크롤 줌 인 & 아웃
- 마우스 스크롤 클릭 씬 뷰 이동
- alt + 마우스 왼쪽 드래그 씬 뷰 화면 중심 회전
- alt + 마우스 오른쪽 드래그 줌 인 & 아웃
Unity UGUI
UGUI 란?
- GUI는 Graphical User Interface로 그래픽으로 화면에 구현된 유저 인터페이스이며 UGUI는 유니티에서 지원하는 GUI 시스템을 의미한다. 한마디로 시각화 된 인터페이스를 의미한다.
- Unity UI는 게임 및 애플리케이션용 사용자 인터페이스를 개발하기 위한 UI 툴킷이다. 이는 컴포넌트와 게임 뷰를 사용하여 사용자 인터페이스를 정렬, 위치 지정 및 스타일 지정하는 GameObject 기반 UI 시스템이다. Unity UI를 사용하여 Unity 에디터에서 사용자 인터페이스를 만들거나 변경할 수 없다
UGUI 레퍼런스
- Canvas(부모) 캔버스라는 부모 밑에 자식으로 여러가지UI요소들이 들어간다.
RanderMode
- Screen Space - Overlay 렌더링된 화면 상단에 UI 요소를 배치한다. 화면 크기가 조정되거나 해상도가 변경되면 캔버스는 이에 맞춰 자동으로 크기를 변경한다.
- Screen Space - Camera 화면 크기가 조정되거나 해상도가 변경되거나 카메라 절두체가 변경되면 캔버스도 이에 맞춰 자동으로 크기를 변경한다. Overlay와 비슷하지만 화면에 그려지는 순서를 조절할 수 있다. 게임 오브젝트보다 뒤로 보낼수도있고 오브젝트a와 b가 있을경우 그 사이에 넣어줄 수도 있다. UI의 그려지는 순서를 달리하고싶을 경우 사용한다.
- World Space 게임월드 내부에 생성할수있는 UI모드이다. 캔버스는 개별 개체처럼 작동한다. 캔버스의 크기는 Rect Transform을 사용하여 수동으로 설정할 수 있으며 UI 요소는 3D 배치에 따라 장면의 다른 개체 앞이나 뒤에 렌더링된다.
- Visual Components
- Text
표시될 텍스트를 입력할 수 있는 텍스트 영역이 있다. 폰트 , 폰트 스타일 , 크기 및 서식 있는 텍스트 기능이 있는지 여부를 설정할 수 있다. 텍스트 정렬, 가로 및 세로 오버플로에 대한 설정 , 사용 가능한 공간에 맞게 텍스트 크기를 조정하는 최적 맞춤 옵션이 있다. - Image
- Simple - 전체 스프라이트의 크기를 동일하게 조정한다.
- Sliced - 3x3 스프라이트 분할을 활용하여 크기 조정 시 모서리가 왜곡되지 않고 중앙 부분만 늘어난다.
- Tiled - Sliced와 유사하지만 중앙 부분을 늘리지 않고 타일링(반복) 한다. 테두리가 전혀 없는 스프라이트의 경우 전체 스프라이트가 타일링 된다.
- Filled - 원점에서 정의된 방향 , 방법 및 양으로 스프라이트를 채우는 점을 제외하면 단순 과 동일한 방식으로 스프라이트를 표시한다.
- Text
Interaction Components
UnityEvent
- Button
버튼 클릭시 수행할 작업을 정의하는 OnClick 이벤트 - Toggle
토글에는 토글이 현재 켜져 있는지 꺼져 있는지를 결정하는 Is On 체크란이 있다. 또한 값이 변경될 때 수행할 작업을 정의하는 OnValueChanged 이벤트도 있다. - Slider
슬라이더에는 사용자가 최소값과 최대값 사이에서 드래그할 수 있는 값이 있다. 수평일 수도 있고 수직일 수도 있다. 또한 값이 변경될 경우 수행할 작업을 정의하는 OnvalueChanged 이벤트도 있다. - InputField
입력 필드는 사용자가 텍스트 요소 의 텍스트를 편집할 수 있도록 만드는데 사용된다. 텍스트 내용이 변경될 때 수행할 작업을 정의하는 이벤트와 사용자가 편집을 마쳤을 때 수행할 작업을 정의하는 또 다른 이벤트가 있다.
Auto Layout
- Horizontal LayoutGroup 수평 레이아웃 그룹 컴포넌트는 자식 레이아웃 요소를 바로옆에 서로 붙여 놓는다.
- Vertical LayoutGroup 수직 레이아웃 그룹 컴포넌트는 자식 레이아웃 요소를 쌓는다.
- Grid LayoutGroup Grid LayoutGroup 컴포넌트는 자식 레이아웃 요소를 격자 무늬에 위치시킨다.
- Content Size Fitter 콘텐츠 크기 피터는 자체 레이아웃 요소의 크기를 제어하는 레이아웃 컨트롤러의 기능을 수행한다.