Unity Engine에서 특정 태그, 컴포넌트, 레이어 등 특성으로 상속관계를 쉽게 지정하는 커스텀 에디터
https://drive.google.com/file/d/1d9O2hfBgHAFYc8q9Na02tbALlXJ2rcZp/view?usp=sharing
- Unity Engine 2023.2.16f1
- Visual Studio
- C#
- Unity Engine의 커스텀 에디터 기능
- EditorWindow
- EditorGUILayer / GUILayer
- 레벨 디자인 과정에서 많은 Object가 Hierarchy에 난잡하게 배치되어 있을 때, 일일히 드래그드롭으로 부모-자식 오브젝트를 상속시키거나 Hierarchy의 정리가 필요한 경우가 있었다. 이에 필요성을 느껴, 상속 자동화 기능을 구현하였다.
- Hierarchy에서 특정 Tag, Layer 또는 Component를 가진 자식 오브젝트 하나 혹은 여러개를 지정한 부모 오브젝트에 상속시킬 수 있음.
- Tag, Component, Layer로 자식 오브젝트를 필터링할 수 있다.
- 전체 상속 해제, 개별 상속 해제가 가능하다.
- 상속관계 현황을 결과 화면으로 확인할 수 있다.
All Undo 클릭시 상속된 오브젝트 전체 상속 취소 / 상속 결과 창에서 오브젝트 별 상속 취소도 가능.
- 2024.09.03 Ver.1 : https://drive.google.com/file/d/1buOOMtjyE5hp1ioAiS9-7awTNe__Hqx2/view?usp=drive_link
- 2024.09.07 Ver.2 : https://drive.google.com/file/d/1lP7OZYbDDs45PjnZRVMMk7d11it2Mw-l/view?usp=drive_link
- 2024.09.27 Ver.3 : https://drive.google.com/file/d/1d9O2hfBgHAFYc8q9Na02tbALlXJ2rcZp/view?usp=sharing
-
Ver.1
- 특정 태그, 컴포넌트 명으로 상속관계를 쉽게 지정하는 커스텀 에디터 설계
-
Ver.2
- Undo 기능 구현을 위해 Undo.RecordObject를 사용하여 상속 전후 오브젝트 상태를 기록하고, 상속 취소 메서드를 작성
- 상속 결과를 쉽게 보여주기 위해 레이아웃 내 윈도우 영역을 배치, 결과 목록 내 자식들은 아이콘과 BoxStyle로 표현된 버튼으로 구현
- 상속 결과 내 자식 버튼을 클릭하면 하이어라키에서 해당 오브젝트가 선택되도록 구현
-
Ver.3
- 레이어를 사용해 자식을 필터링하고 상속을 수행하는 Filter By Layer 기능 추가
- 자식 오브젝트 별로 각각 상속을 취소하는 기능 추가