📕학습 개요

유니티 캠프 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 기능을 많이 쓰고 있다.

댓글남기기