[TIL] 유니티 어트리뷰트
📕학습 개요
유니티 캠프 23일차.
오늘은 팀원별 맡은 임무를 병합하고 정리하는 과정을 거쳤다. 아직 조금 어색한 부분이 많지만 기능 병합 자체는 잘 된 느낌이다. 다음주부터 조금씩 살을 붙히면 꽤나 좋은 게임이 될 것 같은 느낌이다.
📖학습 내용
타일맵 정렬 순서(같은 Layer Order 내에서)
-
문제상황 : 타일맵으로 맵을 디자인 하는데, 같은
Order in Layer에 타일맵이 겹쳐질 경우 뒤에 있는 이미지가 앞에 있는 이미지를 뚫고 나와서 이상하게 보이는 문제가 생겼다. -
문제 해결 : Tilemap Renderer 의 Sort Order 를 Top Left (혹은 Top Right) 로 바꿔서 해결하였다.
유니티 어트리뷰트
| 어트리뷰트 (Attribute) | 용도 설명 | 세부 설명 (Details) |
|---|---|---|
[SerializeField] |
비공개 필드 노출 | private 변수도 인스펙터에 노출 |
[HideInInspector] |
인스펙터 숨기기 | public 이어도 인스펙터에서 감춤 |
[Header("문자열")] |
섹션 구분 | 인스펙터에 제목(헤더) 표시 |
[Tooltip("설명")] |
설명 툴팁 | 마우스 올릴 때 도움말(툴팁) 표시 |
[Range(min, max)] |
슬라이더 UI | float, int 값을 슬라이더로 제한 |
[Space(n)] |
여백 삽입 | 인스펙터 변수 사이에 지정한 만큼 간격(여백) 주기 |
[Multiline] |
멀티라인 입력 | string (문자열)을 여러 줄로 입력 가능 |
[TextArea(minLines, maxLines)] |
확장형 멀티라인 | 입력창 크기(최소/최대 줄 수) 조절 가능 |
[ContextMenu("함수명")] |
우클릭 메뉴 실행 | 인스펙터에서 컴포넌트 우클릭 시 함수 수동 실행 |
[ExecuteAlways] |
실행 모드 상관없이 호출 | 에디터 모드, 플레이 모드 모두에서 Update() 등 호출 |
[ExecuteInEditMode] |
에디터 모드에서도 실행 (구버전) | 실행 중이 아니어도 (에디터 모드에서) 호출됨 |
[RequireComponent(typeof(T))] |
필수 컴포넌트 자동 추가 | 해당 컴포넌트 부착 시 지정된 타입 T의 컴포넌트 자동 추가 |
[DisallowMultipleComponent] |
중복 컴포넌트 금지 | 하나의 게임 오브젝트에 해당 컴포넌트 하나만 붙도록 제한 |
[Min(n)] |
최소값 제한 | 숫자(int, float) 입력 시 최소값 n으로 제한 (음수 방지 등) |
개인적으로는 private 변수도 인스펙터 창에서 노출시키는 SerializeField와 변수가 많아질 경우 섹션을 구분하여 가시성을 높여주는 데 용이한 Header 기능을 많이 쓰고 있다.
댓글남기기