유니티 엔진 (Unity Engine)
[Unity] ScriptableWizard 클래스로 간단하게 커스텀 툴, 에디터 창 만들기
원소랑
2024. 5. 15. 16:48
보통은 EditorWindow 를 상속받아서 유니티 엔진 내부에 커스텀 윈도우를 만들곤 하는데, EditorWindow 를 상속받아서 작업하게 되면 디테일하게 작업해줘야 할 코드가 꽤 많아진다.
그래서, EditorWindow 대신 ScriptableWizard 클래스를 상속 받아서 만들면 귀찮은 작업들을 조금 생략할 수 있어진다.
public class WizardCreateLight : ScriptableWizard
{
public float range = 500;
public Color color = Color.red;
[MenuItem("GameObject/Create Light Wizard")]
static void CreateWizard()
{
ScriptableWizard.DisplayWizard<WizardCreateLight>("Create Light", "Create", "Apply");
// 버튼이 하나만 필요하다면 아래처럼 파라미터 하나만 쓰면 된다.
//ScriptableWizard.DisplayWizard<WizardCreateLight>("Create Light", "Create");
}
void OnWizardCreate()
{
// Create 버튼을 클릭했을 때 처리.
}
void OnWizardOtherButton()
{
// Apply 버튼을 클릭했을 때 처리.
}
void CreateGUI()
{
// 여기서 초기화 처리 해도 좋음.
}
}
유니티 엔진 ScriptableWizard 공식 문서
ScriptableWizard
https://docs.unity3d.com/ScriptReference/ScriptableWizard.html
게임 개발 추천도서
<유니티 교과서 개정6판>(유니티 최신 버전)
https://link.coupang.com/a/bz23dY
<대마왕의 유니티 URP 셰이더 그래프 스타트업>
https://link.coupang.com/a/bs8qyC
<리얼-타임 렌더링(REAL-TIME RENDERING) 4/e>
https://link.coupang.com/a/8VWas
<이득우의 게임 수학:39가지 예제로 배운다! 메타버스를 구성하는 게임 수학의 모든 것>
https://link.coupang.com/a/9BqLd
유니티 에셋 스토어 링크
https://assetstore.unity.com?aid=1011lvz7h
(링크를 통해 도서/에셋 구입시 일정액의 수수료를 지급받습니다.)
728x90
반응형