티스토리 뷰

편의성, 가독성, 신속한 처리, 실수를 최소화하기 위한 방법으로 오브젝트를 구성하는 값들을 시각적으로 표현하는 것은 대부분 모든 프로그램이 어느정도는 갖추고 있는 구성요소이다.

 

 

유니티의 인스펙터 레이아웃은 사용자가 게임 오브젝트 및 스크립터블 오브젝트의 속성을 효과적으로 관리하고 수정할 수 있도록 도와주는 도구이며 게임 개발자가 직렬화된 속성을 정의하고 Unity가 이를 렌더링하고 사용자 상호 작용을 처리하는 과정을 포함한다. 또한 유니티 인스펙터는 개발자가 직접 구현하는 GUI 레이아웃을 변경할 수 있는 커스텀 에디팅 기능도 제공한다.

 

오늘은 유니티를 구성하는 인스펙터 레이아웃 생성 과정을 알아보려한다.

 

 


 

스크립트 컴파일링

  • Unity의 게임 오브젝트는 스크립트를 사용하여 동작하고 속성을 갖는다.
  • 유니티의 스크립트는 Unity에서 자동으로 컴파일되어 실행 가능한 코드로 변환된다.
  • 유니티는 컴파일 과정에서 스크립트가 변경되거나 유니티 에디터를 열거나/재시작하면 다시 컴파일링을 한다.

 

 

Serialized Properties

 

  • 유니티에서 컴파일된 스크립트는 MonoBehaviour 혹은 ScriptableObject를 상속한 클래스의 인스턴스로 정의된 게임 오브젝트 혹은 스크립터블 오브젝트의 컴포넌트로 사용된다.
  • 이러한 스크립트들의 public 및 [SerializeField]로 표현된 멤버 변수들은 인스펙터에 노출된다. 노출된 변수들을 "Serialized Properties"라고 불른다.

 

 

인스펙터 렌더링

 

  • 유니티 에디터 UI 시스템에 의해 생성되는 인스펙터
  • Serialized Properties가 표시된다. 이때, 각 속성의 데이터 형식을 확인하여 가장 적절한 UI 컨트롤을 생성하고 초기화한다.
    • bool = 토글
    • int = 입력 필드
    • sprite = 이미지 입력 및 미리보리 UI 등

 

 

커스텀 에디터

 

  • 기본으로 제공되는 인스펙터 레이아웃에서 개발자가 커스텀으로 레이아웃을 구성하도록 하는 기능이다.
  • 커스텀 에디터는 기본 에디터가 아닌 사용자가 정의된 방식으로 인스펙터를 렌더링하도록 한다.

 

 

GUI 이벤트 및 사용자 상호 작용

 

  • 인스펙터의 UI 요소에는 사용자 상호 작용이 가능한 요소가 있다.
  • 사용자가 값을 변경하거나 버튼 클릭등의 이벤트는 유니티가 처리하고 수행한다.

 

 

변경 사항 적용 및 되돌리기

 

  • 사용자가 값을 변경 후 "적용"또는 "되돌리기"를 통해 값을 다시한번 변경할 수 있다.
  • 이 기능들은 스크립터블과 게임 오브젝트에 상태 변화에 영향을 준다.

 

최근에 올라온 글
최근에 달린 댓글
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함