Menu
CoddyTech

인스펙터 필드

Coddy Unity 여정의 Unity 스크립팅 기초 섹션에 포함된 레슨. 85개 중 14번째.

스크립트의 public 필드는 Inspector에서 스크립트 이름 아래에 표시되므로, 씬을 만드는 누구나 코드를 건드리지 않고 값을 바꿀 수 있습니다. 하나의 Spinner 스크립트로 선풍기는 빠르게, 풍차는 느리게 회전시킬 수 있는 이유가 바로 이것입니다. 코드는 같지만 각 오브젝트의 숫자는 다릅니다.

코드의 숫자는 스크립트를 처음 추가할 때 Unity가 사용하는 시작 값일 뿐입니다. 그 이후에는 씬에 저장된 값이 우선합니다. 여기서는 코드에 3이라고 적혀 있지만 이 로켓의 Inspector에는 8이라고 표시되어 있으므로, 로켓은 초당 8유닛씩 올라갑니다.

public float speed = 3f;   // 이 로켓의 Inspector에는 8이 표시됩니다

void Update()
{
    transform.position += new Vector3(0, speed * Time.deltaTime, 0);
}

코드에서 = 3f를 바꿔도 씬에 이미 있는 로켓의 값은 바뀌지 않습니다. Unity 초보자 대부분이 적어도 한 번은 이 문제를 겪습니다. 숫자가 무시되는 것처럼 보이면 Inspector를 확인하세요. 오브젝트의 필드를 보려면 Hierarchy에서 오브젝트를 선택하세요.

challenge icon

챌린지

쉬움

엘리베이터가 인스펙터에서 설정한 속도로 올라가게 하세요.

  1. Update()에서 2를 필드인 lift * Time.deltaTime로 바꾸세요.
  2. public float lift = 2f;는 그대로 두세요. 인스펙터에서 lift를 6으로 설정합니다.

‘플레이’를 누르세요. 엘리베이터가 초당 6단위씩 올라갑니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

using UnityEngine;

public class Elevator : MonoBehaviour
{
    public float lift = 2f;

    void Update()
    {
        transform.position += new Vector3(0, 2 * Time.deltaTime, 0);
    }
}

Unity 스크립팅 기초의 모든 레슨

직접 연습해 보세요: Unity 플레이그라운드