
2D 에디터는 조금 익숙하지만 3D 에디터는 처음이라 되게 어색했다.
카메라 조작, 오브젝트 배치, 콜라이더 조정 등 2D로는 익숙한게 3D가 되니 차원이 다르다. 🤣
직렬화는 간단히 말해서 변수를 유니티 에디터에 공유한다고 보면 된다.
VS에서 선언한 변수를 에디터에서 값의 변화를 시각적으로 볼 수 있고 수정도 할 수 있다.

public int value; 같이 선언하면 에디터에서는 위와 같이 보이며, 수정도 가능하다.

[Serializable]
public struct StructType
{
public int value1;
public string value2;
}
public StructType structField;
[Serializable]
public class ClassType
{
public int value1;
public string value2;
}
public ClassType classField;
[Space(height)]
[Space]
여백으로 변수와 변수 사이에 height 픽셀의 세로 여백을 추가한다.
숫자를 입력하지 않으면 기본으로 8픽셀 여백이 생긴다.
[Header("가나다라마바사")]
변수 위의 제목으로 한글도 사용할 수 있다.
[Range(0, 10)]
public float rangeValue;
최소값과 최대값을 정할 수 있고, 에디터에 슬라이더가 생성되어 드래그로 조절할 수도 있다.
[SerializeField]
private int privateValue;
private 변수를 다른 클래스에서 접근하지 못하지만 에디터에서는 보거나 수정할 수 있다.
[HideInInspector]
public int publicValue;
[SerializeField] 와 달리 public 변수를 에디터에서 공개하지 않는다.
[TextArea(3, 5)]
public string textField;
여러 줄의 텍스트를 입력할 수 있는 입력창을 생성한다.
(3, 5) 는 최소 3줄, 최대 5줄이란 뜻이다.
[Serializable]
public struct StructType
{
public int value1;
public string value2;
}
public StructType structField;
//////////////////////////////
[Serializable]
public class ClassType
{
public int value1;
public string value2;
}
public ClassType classField;
[Serializable] 와 public StructType structField 사이의 구조체나 클래스를
에디터에 보여주고 값을 수정할 수 있다.
[Tooltip("최대 체력 값입니다.")]
public int maxHealth;
에디터에서 변수에 마우스를 올리면 변수의 설명을 나오게 할 수 있다.
#region처럼 가독성을 위해 사용할 수도 있지만,직렬화는 사용법에 익숙해지기만 한다면 훨씬 보기 좋게 사용할 수 있을 것 같다.
특히 툴팁과 슬라이더가 아주 유용해 보인다.