유니티 개발을 하다 보면 인스펙터 창이 정리가 안되거나
구분이 잘 되어 있지않아서 헷갈리는 경우가 생기게 된다.
이번에는 그럴 때 사용하는 인스펙터 간의 간격을 늘여주거나
하나의 그룹으로 만들어서 정리 하는 방법을 정리 하려고 한다.
Header(타이틀 달기)
사용하는 방법은 다음과 같이 사용 하면된다.
[Header("원하는 이름")] 을 작성하면
다음과 같이 어떠한 이유로 선언 되었는지
쉽게 확인 할 수 있도록 제목이 붙은 것을 확인 할 수 있다.
Space(인스펙터 간의 간격 주기)
Header를 사용하더라도 선언된 속성을 확인 하기 힘든데 스크립트 안에서 Enter로 간격을 준다고 해도
인스펙터 안에서는 Enter 유무에 관계없이 다닥다닥 붙어서 작성되기 때문이다
이럴때 Space 속성을 사용해서 갑갑한 인스펙터를 좀 더 보기 좋게 만들 수 있다.
Global이라는 타이틀 아래에 여러가지의 필드가 들어가게 되니
Header를 주더라도 가독성이 떨어져 나중에는 이게 어디에 사용되는 필드인지 헷갈리는 경우도 있었다.
그럴 떄 [Space(여백의 간격)] 를 띄우기를 원하는 곳에 작성해주면 된다.
Range(변수의 값 슬라이더 형식으로 표시하기)
변수의 값을 슬라이더 형식으로 표현하는 것으로 눈으로 값을 확인 하기 쉽게 보여준다.
Multiline(문자열 작성 칸 늘이기)
sring 을 사용 할 경우, 많은 글이 들어가는 경우 인스펙터 간격을 넘어 가게 되면 뒤에 글자들은 보이지 않는다.
그럴때 Multiline(원하는 라인의 수)를 앞에 넣어주면 해당 string의 간격이 크게 보인다.
string이 아닌 다른 변수에 Multiline을 사용하면 다음과 같이 사용할 수 없다고 나온다.
TextArea(라인의 수를 늘려줌)
최소 크기와 최대 크기를 설정할 수 있고 변수의 아래 라인에 박스가 생긴다.
1줄에서 최대 3줄이기 때문에 다음과 같이 3줄이상은 아래로 내려가면서 보이게 됨
[TextArea(최소 줄, 최대 줄)]로 원하는 string 위에 적어주면된다
Serialize Field(private 변수가 인스펙터차에 보임)
인스펙터 창 안에 보이려면 변수를 public 으로 되어있어야지 인스펙터 안에서 확인이 가능하다
하지만 [Serialize Field]를 사용하게되면
인스펙터 창 안에서 private인 newColor_code 가 public 형식처럼 보이는 것을 확인 할 수 있다.
7. System.Serializable( 그룹 형식으로 인스펙터 창에 표현)
인스펙터 창이 너무 늘어나면 보기 힘들 뿐 아니라 다양한 그룹이 있을 때 알아보기 쉽다
다만 클래스, 구조체를 사용해서 이용해야한다.
[System.Serializable]
public struct WireWalking
{
//하나의 그룹으로 만들 속성들을 넣어주면 됨
public CinemachineVirtualCamera[] Stage1_Cam;
public CinemachineVirtualCamera[] Stage2_Cam;
public CinemachineVirtualCamera[] Stage3_Cam;
public CinemachineVirtualCamera[] Stage4_Cam;
public CinemachineVirtualCamera Fail_Cam;
public Animator[] TikTok_stage1_ani;
public Animator[] TikTok_stage2_ani;
public Animator[] TikTok_stage3_ani;
public Animator[] TikTok_stage4_ani;
public GameObject[] ClearParticleGrup;
public bool CmMotionFinish;
public GameObject FailCameraMotion_ob;
public Vector3 FailCameraMotion_vec;
}
//그리고 구조체를 선언해서 사용함
[Header("3. Wire Walking")]
public WireWalking WireWalk;
다음과 같이 많은 속성들이 하나의 WireWalking 구조체를 선언한 Wire Wallk 안에 들어가 있는 것을 확인 할 수있다.
다양한 인스펙터 정리 방법이 있으나 너무 많아서
유용하게 사용되는 인스펙터 정리 방법만 작성해 보았다.