Unity/정보

[Unity] 스크립트 인스펙터 꾸미기

달시_Dalsi 2023. 5. 9. 13:36

1. Header (string)

 

인스펙터 내에 타이틀을 달 수 있다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class inspectorTest : MonoBehaviour
{
    [Header("Title name")]
    public int speed;
    public int power;
    public int HP;
}

 

 


2. Space (float)

 

필드 사이에 여백을 만들 수 있다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class inspectorTest : MonoBehaviour
{
    [Header("Title name")]
    public int speed;
    public int power;
    public int HP;

    [Space(15f)]
    public string name;
    public string job;
}

 

 

 


3. Range (float, float)

 

변수의 값을 슬라이더 형식으로 표시하고, 최소 및 최대 값을 정해줄 수 있다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class inspectorTest : MonoBehaviour
{
    [Header("Title name")]
    public int speed;
    public int power;
    public int HP;

    [Space(15f)]
    public string name;
    public string job;

    [Range(0.0f, 10.0f)]
    public float f_exp = 0.5f;
    [Range(0, 100)]
    public int i_level = 1;
}

 

 

 


4. Multiline (int), TextArea (int, int)

 

Multiline

문자열을 작성하기 편하도록 라인의 수를 늘려준다.

매개 변수의 값 만큼 라인의 수가 늘어나며 변수 이름 우측에 영역 박스가 생긴다.

 

TextArea

Multiline과 마찬가지로 라인의 수를 늘려준다.

Multiline과의 차이점은, 최소 크기와 최대 크기를 설정하는 것이며 변수 이름 우측이 아닌 아래에 영역 박스가 생긴다.

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class inspectorTest : MonoBehaviour
{
    [Header("Title name")]
    public int speed;
    public int power;
    public int HP;

    [Space(15f)]
    public string name;
    public string job;

    [Range(0, 10)]
    public float f_exp = 0.5f;

    [Range(0, 100)]
    public int i_level = 1;

    [Multiline(10)]
    public string str_string_Mul;
    [TextArea(5,10)]
    public string str_string_Text;
}


5. SerializeField

 

private 변수를 인스펙터에 표시한다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class inspectorTest : MonoBehaviour
{
    [Header("Title name")]
    public int speed;
    public int power;
    public int HP;

    [Space(15f)]
    public string name;
    public string job;

    [Range(0, 10)]
    public float f_exp = 0.5f;

    [Range(0, 100)]
    public int i_level = 1;

    [Multiline(10)]
    public string str_string_Mul;
    [TextArea(5,10)]
    public string str_string_Text;

    [SerializeField]
    private int i_hidden;
}