일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- AES
- Unity Editor
- 가이드
- ui
- Custom Package
- 커스텀 패키지
- jumping ball
- adfit
- DotsTween
- job
- Tween
- 암호화
- 이미지 폰트
- 텍스트 메시 프로
- Framework
- Dots
- RSA
- sha
- 2D Camera
- 다이나믹 폰트
- C#
- TextMeshPro
- 샘플
- 최적화
- base64
- Dynamic Font
- 단말기 해상도
- Job 시스템
- unity
- 프레임워크
Archives
- Today
- Total
EveryDay.DevUp
[Unity] Custom Editor ( 커스텀 에디터 ) 본문
유니티를 사용하다보면, 익스펙터 창에 추가로 보여주고 싶은 UI가 생길 수 있게 됨
예시 ) Camera2D 스크립트에서 Unity 실행 중에는 변화된 카메라의 사이즈를 보여주고 싶은 경우
실행 전에는 보이지 않던 Cam Size가 실행 후에 보이는 것을 확인 할 수 있음
using UnityEditor;
using UnityEngine;
[CustomEditor( typeof( Camera2D ) )]
public class Camera2DEditor : Editor
{
Camera2D _cam2D;
Vector2 _camSize = Vector2.zero;
private void OnEnable()
{
_cam2D = (Camera2D)target;
}
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
_cam2D.minWidth = EditorGUILayout.IntField( "min width", _cam2D.minWidth );
_cam2D.minHeight = EditorGUILayout.IntField( "min height", _cam2D.minHeight );
_cam2D.matchWidth = EditorGUILayout.Toggle( "match width", _cam2D.matchWidth );
if( Application.isPlaying )
{
EditorGUILayout.IntField( "screen width", _cam2D.screenWidth );
EditorGUILayout.IntField( "screen height", _cam2D.screenHeight );
}
}
}
▶ UnityEditor를 상속받는 클래스를 생성
▶ 클래스 상단에 [ CustomEditor( typeof( 만들고자 하는 컴포넌트 ))]
▶ OnInspectorGUI에서 보여줄 내용 추가
▶ Unity 기본적으로 다양한 UI를 제공하고 있으며, 디테일하게도 수정이 가능함
세부적인 내용은 유니티 메뉴얼 사이트에서 확인할 수 있음
https://docs.unity3d.com/kr/2018.4/Manual/editor-CustomEditors.html
'Unity' 카테고리의 다른 글
[Unity] 컴파일 (JIT, AOT ) (0) | 2020.05.06 |
---|---|
[Unity] DontDestroyOnLoad GameObject에 자식은 씬이 올라갔을 때 어떻게되는가. (0) | 2020.05.04 |
[Unity] GC ( 가비지 컬렉터 ) (0) | 2020.04.30 |
[Unity] Unity에서 스크립트 우선 순위 설정 (0) | 2020.04.30 |
[Unity] Singletone (0) | 2020.04.29 |