Unity Attributes

용준·2023년 8월 21일
0

Unity

목록 보기
5/19
  • 속성(Attribuites)은 스크립트에서 클래스, 프로퍼티 또는 함수 위에 명시하여 특별한 동작을 나타낼 수 있는 표식입니다.

[SerializeField]

  • 접근 제한자를 private로 설정하더라도 인스펙터 창에서 직접적인 액세스를 가능하게 합니다.
  • 이 속성은 변수말고도 구조체와 클래스를 직렬화 할 수 있습니다.
    방법은 간단합니다. 구조체나 클래스 밖에 [Serializable]를 사용하면 됩니다.


[HideInInspector]

  • public으로 생성한 변수를 인스펙터 창에서 숨기도록 해줍니다.

SerializeField의 반대 역할을 하는 속성입니다.


[RequireComponent]

  • 스크립트를 적용한 객체에 설정한 컴포넌트가 없을 경우 설정한 컴포넌트를 자동으로 추가합니다.
  • [RequireComponent(typeof(name))] 매개변수에 컴포넌트를 설정할 수 있습니다.
  • 이미 있는 컴포넌트는 추가되지 않습니다.

위 사진의 경우는 이 스크립트를 적용 중인 객체가 Rigidbody, CharacterController, BoxCollider 컴포넌트가 없다면 자동으로 추가됩니다.


[Range Attribute]

  • 인스펙터창에서 값을 조절하는 방식을 슬라이드 바로 변경합니다.
  • [Range(min, max)] 매개변수에 최소값과 최대값을 지정할 수 있습니다.

[Head Attribute]

  • 변수 위에 헤더를 달아 가독성을 높이는 효과가 있습니다.
  • [Header(string)] 매개변수에 string으로 된 데이터를 입력합니다.


[Space Attribute]

  • 인스펙터창에서 변수 사이의 공간의 크기를 지정합니다.
  • [Space(num)] 매개변수에 값을 적지 않을 경우 기본값으로 적용됩니다.


[Tooltip Attribute]

  • [Tooltip(string)] 인스펙터창 변수에 주석을 달 수 있습니다.

0개의 댓글