스크립트 가능한 타일 예제(Scriptable Tile example)
GridBrushBase

스크립트 가능한 브러시(Scriptable Brush)

스크립트 가능한 브러시 생성

GridBrushBase로부터 값을 상속받는 새 클래스(또는 GridBrush와 같이 GridBrushBase의 유용한 하위 클래스)를 생성할 수 있습니다. 새 Brush 클래스에서 필수적인 메서드를 오버라이드할 수 있습니다. 일반적으로 다음과 같은 메서드를 오버라이드할 수 있습니다.

  • Paint를 사용하여 브러시로 타겟 그리드에 항목을 추가할 수 있습니다.
  • Erase를 사용하여 브러시로 타겟 그리드에서 항목을 제거할 수 있습니다.
  • FloodFill를 사용하여 브러시로 타겟 그리드에서 항목을 채울 수 있습니다.
  • Rotate를 사용하여 브러시에 설정된 항목을 회전할 수 있습니다.
  • Flip을 사용하여 브러시에 설정된 항목을 뒤집을 수 있습니다.

ScriptableObject.CreateInstance<(Your Brush Class>()를 사용하여 새 클래스의 인스턴스를 생성할 수 있습니다. 새 인스턴스를 에디터에서 에셋으로 전환하면 AssetDatabase.CreateAsset()을 호출하여 인스턴스를 반복적으로 사용할 수 있습니다.

브러시의 커스텀 에디터도 만들 수 있습니다. 이 에디터는 스크립트 가능한 오브젝트의 커스텀 에디터와 동일한 방법으로 사용할 수 있습니다. 커스텀 에디터를 생성할 때 오버라이드할 수 있는 주요 메서드는 다음과 같습니다.

  • OnPaintInspectorGUI를 오버라이드하여 브러시가 선택되었을 때 팔레트에 인스펙터를 표시할 수 있고 이를 통해 색칠과 관련한 추가 동작을 제공할 수 있습니다.
  • OnPaintSceneGUI를 오버라이드하여 SceneView에서 색칠할 때 추가 동작을 제공할 수 있습니다.
  • validTargets를 오버라이드하여 브러시가 상호작용할 수 있는 대상으로 구성된 커스텀 목록을 만들 수 있습니다. 목록에 포함된 대상은 팔레트 창의 드롭다운에 표시됩니다.

스크립트 가능한 브러시를 생성하면 팔레트 창의 브러시 드롭다운 에 표시됩니다. 스크립트 가능한 브러시 스크립트의 인스턴스는 기본적으로 인스턴스화되고 프로젝트의 Library 폴더에 저장됩니다. 브러시 프로퍼티에 적용한 수정 사항은 해당 인스턴스에 저장됩니다. 프로퍼티가 조금씩 다르게 설정된 브러시의 복사본이 필요하다면 프로젝트에서 브러시를 에셋으로 인스턴스화할 수 있습니다. 브러시 에셋은 브러시 드롭다운에서 별도로 표시됩니다.

CustomGridBrush 속성을 Scriptable Brush 클래스에 추가할 수 있습니다. 이렇게 하면 팔레트 창에서 브러시의 동작을 설정할 수 있습니다. CustomGridBrush 속성은 다음과 같은 프로퍼티를 포함하고 있습니다.

  • HideAssetInstances - True로 설정하면 생성된 브러시 에셋의 모든 복사본을 팔레트 창에서 숨깁니다. 팔레트 창의 브러시 드롭다운에 기본 인스턴스만 표시하고 싶을 때 사용하십시오.
  • HideDefaultInstances - True로 설정하면 기본 브러시 인스턴스를 팔레트 창에서 숨깁니다. 팔레트 창의 브러시 드롭다운에 생성된 에셋만 표시하고 싶을 때 사용하십시오.
  • DefaultBrush - True로 설정하면 브러시의 기본 인스턴스가 프로젝트의 기본 브러시로 설정됩니다. 이렇게 하면 프로젝트가 열릴 때마다 이 브러시가 기본적으로 선택되는 브러시가 됩니다. 스크립트 가능한 브러시 중 하나만 기본 브러시로 설정하십시오!
  • DefaultName - 설정하면 브러시 드롭다운에서 브러시 클래스 이름 대신 이 이름이 브러시 이름으로 사용됩니다.

새 브러시 에셋을 저장하려면 반드시 프로젝트를 저장해야 합니다!


  • 2017–09–06 일부 편집 리뷰를 거쳐 페이지 게시됨
스크립트 가능한 타일 예제(Scriptable Tile example)
GridBrushBase