Unity 스크립트 가능한 브러시 가이드
이 문서에서는 Unity의 스크립트 가능한 브러시 기능에 대해 설명하고, 각 기능을 활용하는 방법에 대한 예제를 제공합니다.
GridBrushBase 클래스
GridBrushBase
클래스는 색칠(painting)과 관련한 고정된 API 세트를 제공합니다. 이 클래스는 기본적으로 다양한 브러시 기능의 기초가 됩니다. 이를 통해 여러분은 그리드에서 게임 오브젝트를 다룰 수 있습니다.
주요 메서드
메서드 이름 | 설명 |
---|---|
Paint |
지정된 위치에서 데이터를 추가합니다. |
Erase |
지정된 위치에서 데이터를 제거합니다. |
BoxFill |
지정된 경계에서 데이터를 추가합니다. |
FloodFill |
주어진 위치와 인접한 모든 영역에 데이터를 추가합니다. |
Rotate |
현재 설정된 피벗을 기준으로 브러시 콘텐츠를 회전합니다. |
Flip |
현재 설정된 피벗을 기준으로 브러시 콘텐츠를 축을 따라 뒤집습니다. |
Select |
주어진 경계를 기준으로 경계를 표시합니다. |
Pick |
데이터를 가져와 브러시를 채웁니다. |
Move |
주어진 시작 위치에서 종료 위치까지 이동을 표시합니다. |
MoveStart |
이동 시작 지점을 표시합니다. |
MoveEnd |
이동 끝 지점을 표시합니다. |
메서드 사용 예제
아래는 각 메서드를 사용하는 간단한 예제입니다.
1. Paint 메서드 사용 예제
public override void Paint(GridLayout grid, GameObject brushTarget, Vector3Int position)
{
// 특정 색깔로 타일 추가
tilemap.SetColor(position, Color.blue);
}
2. Erase 메서드 사용 예제
public override void Erase(GridLayout grid, GameObject brushTarget, Vector3Int position)
{
// 특정 위치의 타일 제거
tilemap.SetColor(position, Color.clear);
}
3. BoxFill 메서드 사용 예제
public override void BoxFill(GridLayout grid, GameObject brushTarget, BoundsInt position)
{
// 지정된 면적에 색깔을 채움
for (int x = position.x; x < position.xMax; x++)
{
for (int y = position.y; y < position.yMax; y++)
{
tilemap.SetColor(new Vector3Int(x, y, 0), Color.green);
}
}
}
4. FloodFill 메서드 사용 예제
public override void FloodFill(GridLayout grid, GameObject brushTarget, Vector3Int position)
{
Color targetColor = tilemap.GetColor(position);
Color fillColor = Color.red;
// 지정된 색과 맞는 지역을 찾아 색상 변경
ChangeColor(position, targetColor, fillColor);
}
추가 참고 자료
- Unity 공식 웹사이트에서 더 많은 예제와 API 문서를 찾아보실 수 있습니다.
- Unity 포럼과 커뮤니티에서 다양한 팁과 기술 자료를 공유할 수 있습니다.
이 가이드를 통해 Unity의 브러시 기능과 API 사용법을 이해하고, 자신의 게임 개발에 적용할 수 있기를 바랍니다.