티스토리 뷰
편의성, 가독성, 신속한 처리, 실수를 최소화하기 위한 방법으로 오브젝트를 구성하는 값들을 시각적으로 표현하는 것은 대부분 모든 프로그램이 어느정도는 갖추고 있는 구성요소이다.
유니티의 인스펙터 레이아웃은 사용자가 게임 오브젝트 및 스크립터블 오브젝트의 속성을 효과적으로 관리하고 수정할 수 있도록 도와주는 도구이며 게임 개발자가 직렬화된 속성을 정의하고 Unity가 이를 렌더링하고 사용자 상호 작용을 처리하는 과정을 포함한다. 또한 유니티 인스펙터는 개발자가 직접 구현하는 GUI 레이아웃을 변경할 수 있는 커스텀 에디팅 기능도 제공한다.
오늘은 유니티를 구성하는 인스펙터 레이아웃 생성 과정을 알아보려한다.
스크립트 컴파일링
- Unity의 게임 오브젝트는 스크립트를 사용하여 동작하고 속성을 갖는다.
- 유니티의 스크립트는 Unity에서 자동으로 컴파일되어 실행 가능한 코드로 변환된다.
- 유니티는 컴파일 과정에서 스크립트가 변경되거나 유니티 에디터를 열거나/재시작하면 다시 컴파일링을 한다.
Serialized Properties
- 유니티에서 컴파일된 스크립트는 MonoBehaviour 혹은 ScriptableObject를 상속한 클래스의 인스턴스로 정의된 게임 오브젝트 혹은 스크립터블 오브젝트의 컴포넌트로 사용된다.
- 이러한 스크립트들의 public 및 [SerializeField]로 표현된 멤버 변수들은 인스펙터에 노출된다. 노출된 변수들을 "Serialized Properties"라고 불른다.
인스펙터 렌더링
- 유니티 에디터 UI 시스템에 의해 생성되는 인스펙터
- Serialized Properties가 표시된다. 이때, 각 속성의 데이터 형식을 확인하여 가장 적절한 UI 컨트롤을 생성하고 초기화한다.
- bool = 토글
- int = 입력 필드
- sprite = 이미지 입력 및 미리보리 UI 등
커스텀 에디터
- 기본으로 제공되는 인스펙터 레이아웃에서 개발자가 커스텀으로 레이아웃을 구성하도록 하는 기능이다.
- 커스텀 에디터는 기본 에디터가 아닌 사용자가 정의된 방식으로 인스펙터를 렌더링하도록 한다.
GUI 이벤트 및 사용자 상호 작용
- 인스펙터의 UI 요소에는 사용자 상호 작용이 가능한 요소가 있다.
- 사용자가 값을 변경하거나 버튼 클릭등의 이벤트는 유니티가 처리하고 수행한다.
변경 사항 적용 및 되돌리기
- 사용자가 값을 변경 후 "적용"또는 "되돌리기"를 통해 값을 다시한번 변경할 수 있다.
- 이 기능들은 스크립터블과 게임 오브젝트에 상태 변화에 영향을 준다.
'개발 > Unity' 카테고리의 다른 글
[Unity] 🧙♂️ God Object (0) | 2025.05.21 |
---|---|
[Unity] 유니티 최적화 체크 리스트 (0) | 2025.05.15 |
[Unity] 사용하지 않는 리소스의 메모리 관리 (0) | 2024.05.10 |
[Unity] SOLID 원칙과 게임 개발 (1) | 2024.03.31 |
[Unity] Custom Editor (0) | 2023.09.03 |