Unity 사용자 매뉴얼 - 스크립트 가능한 브러시 및 타일맵
개요
이 문서는 Unity에서 스크립트 가능한 브러시와 타일맵을 생성하는 방법에 대해 설명합니다. 이를 통해 사용자는 타일map의 개발 과정을 자동화하고 사용자 정의 기능을 추가할 수 있습니다.
스크립트 가능한 브러시
스크립트 가능한 브러시란?
스크립트 가능한 브러시는 개발자가 타일 그리드에 타일을 추가, 제거 및 수정하는 기능을 구현할 수 있도록 돕는 커스텀 브러시입니다. 이러한 브러시는 GridBrushBase
클래스를 상속받아 새 클래스를 생성하여 만들 수 있습니다.
주요 메서드
스크립트 가능한 브러시는 다음과 같은 주요 메서드를 오버라이드할 수 있습니다:
- Paint: 타겟 그리드에 항목 추가하기
- Erase: 타겟 그리드에서 항목 제거하기
- FloodFill: 타겟 그리드의 항목 채우기
- Rotate: 브러시에 설정된 항목 회전하기
- Flip: 브러시에 설정된 항목 뒤집기
인스턴스 생성 및 에셋 변환
- 새로운 브러시 클래스의 인스턴스는
ScriptableObject.CreateInstance<(Your Brush Class>)
메서드를 사용하여 생성할 수 있습니다. - 새 인스턴스를 에셋으로 변환할 경우
AssetDatabase.CreateAsset()
메서드를 호출하여 반복적으로 사용할 수 있습니다.
커스텀 에디터
커스텀 에디터를 만들 수 있으며, 오버라이드 가능한 주요 메서드는 다음과 같습니다:
- OnPaintInspectorGUI: 브러시가 선택될 때 팔레트에 인스펙터 창을 표시
- OnPaintSceneGUI: SceneView에서 색칠할 때 추가 동작 제공
- validTargets: 상호작용할 수 있는 대상의 커스텀 리스트 생성
브러시 프로퍼티
브러시의 커스터마이징을 위해 몇 가지 프로퍼티를 추가할 수 있으며, 이들은 다음과 같습니다:
속성 이름 | 설명 |
---|---|
HideAssetInstances | true로 설정 시, 생성된 에셋 복사본을 숨김 |
HideDefaultInstances | true로 설정 시, 기본 인스턴스를 숨김 |
DefaultBrush | true로 설정 시, 프로젝트의 기본 브러시로 설정 |
DefaultName | 설정한 이름으로 브러시의 이름 변경 |
유의사항
- 스크립트 가능한 브러시는 하나만 기본 브러시로 설정해야 하며, 두 개 이상 설정할 경우 오류가 발생할 수 있습니다.
예제
스크립트 가능한 브러시를 활용하여 2D 타일맵을 만드는 과정을 통해, 타일에 다양한 효과를 적용하거나 반복적인 작업을 자동화할 수 있습니다.
활용 예제
- 타일 사이의 빈 공간 자동 채우기: 사용자가 지정한 색상으로 빈 공간을 자동으로 채우는 브러시.
- 회전하는 타일 효과: 특정 키를 눌러 타일을 회전시키는 기능을 추가한 브러시.
- 대량 삭제 툴: 선택된 영역의 모든 타일을 삭제하는 브러시.
이러한 기능들을 통해 개발자는 자신만의 개성을 지닌 2D 게임 환경을 쉽게 구축할 수 있습니다.