유니티 프로퍼티 (인스펙터 정리) PropertyAttribute

 

변수가 많아지면 유니티 인스펙터에서 확인하기 힘들어지기 때문에

인스펙터를 정리하고 싶을때가 있다.

 

커스텀 에디터를 활용하면 좋겠지만, 

단순 변수를 편하기 보기위해라는 용도라면 커스텀 에디터는 너무나 수고스러운 일.

일일히 스크립트 만들기도 귀찮고.

 

유니티 Attribute 기능으로 어느정도 정리가 가능하다.

 

 

1. [SerializeField]

 - private 변수를 인스펙터에 노출시킴

 - [System.Serializable]을 사용한 Structure 타입 변수에 사용하면 인스펙터에 노출되는 효과.

 

 

2. [HideInInspector]

- 이건 반대로 public 이라도 인스펙터에 노출시키지 않음

 

3. [Range(최소값,최대값)]

- 인스펙터에서 입력할 때 변수의 수치를 제한해서 입력할 수 있다.

 - 실제 값을 제한시키는 효과는 없어서 넘는 수치를 대입하면 그대로 들어간다.

 

 

4. [Header("라벨명"]

 
- 변수 앞에 라벨을 표기한다. 
- 보통 구분이 잘 안되서 -나 * 같은 특수문자를 넣어서 표시한다.
 

5. [Space] , [Space(int height)]

 - 변수 사이에 한줄을 띄워준다 라벨을 굳이 달지 않더라도 정리하고 싶을때 사용한다.

 - 뒤에 매개변수로 높이를 넣어줄 수 있다.

 

 

6. [TextArea] , [Multiline] , [TextArea(int line)] , [Multiline(int line)]

 - string 타입의 변수를 여러줄로 입력할 수 있다.

 - 변수명 라벨과 다른줄로 표기되느냐 한 줄로 표기되는냐 차이

 - 이 attribute를 사용하면 string 타입에서 엔터를 따로 처리안해줘도 된다!

 - 역시 뒤쪽에 int값으로 줄 갯수를 넣어줄 수 있다. 디폴트는 3

 

 

7. [ColorUsage(bool alphaView)]

- 컬러픽커를 사용한다. 뒤의 bool 값은 알파값도 포함하는지여부

 

 

 

프로퍼티를 여러개 사용하고 싶다면  [SerializeField, TextArea] 이와 같이 ,를 써서 이어서 써주면된다.

 

이외에도 커스텀으로 프로퍼티를 더 만들 수도있다.

다른사람이 만들어놓은 프로퍼티를 예시로 들자면 아래링크 참조.

https://github.com/dbrizov/NaughtyAttributes

 

 

더 많은 프로퍼티를 제공하는 유료에셋은 아래 글 참조 

https://mentum.tistory.com/388

 

Odin - Inspector and Serializer / 유니티 커스텀 인스펙터

에셋 스토어 링크 https://assetstore.unity.com/packages/tools/utilities/odin-inspector-and-serializer-89041?aid=1101l7zGS Odin - Inspector and Serializer | 유틸리티 | Unity Asset Store Get the Odin - Inspector and Serializer package from Sirenix

mentum.tistory.com

 

댓글

Designed by JB FACTORY