Unity 프로그래밍 요령

Unity로 프로그래밍할 때, 편집기 내 작업 흐름을 개선하고 개발 프로세스 속도를 높이는 데 유용한 프로그래밍 키워드와 명령이 많이 있습니다.

일부 키워드는 디버깅 전용이고 다른 키워드는 스크립팅 논리에서 편집기 논리를 분리하도록 설계되었습니다.

1. '[SerializeField]' 기인하다

기본적으로 Unity은 개인 변수를 검사기에서 숨깁니다. 하지만 그 앞에 '[SerializeField]' 속성을 추가하면 다른 스크립트 내에서 액세스할 수 없도록 유지하면서 검사기에서 구성할 수 있게 됩니다.

[SerializeField]
private int myPrivateVariable;

2. '[HideInInspector]' 및 '[System.NonSerialized]' 속성

'[HideInInspector]' 및 '[System.NonSerialized]' 속성은 모두 검사기에서 공개 변수를 숨기는 유사한 기능을 가지고 있지만 직렬화 측면에서 약간 다릅니다.

'[HideInInspector]'과 '[System.NonSerialized]'의 차이점은 '[HideInInspector]'은 검사기에서 변수를 숨길 뿐이지만 Unity은 계속해서 변수를 직렬화한다는 것입니다(즉, 기본값이 코드에 제공된 값과 다를 수 있음). 반면 '[System.NonSerialized]'은 검사기에서 변수를 숨길 뿐만 아니라 Unity에 직렬화하지 말라는 신호를 보냅니다. 즉, 세션 간에 기본값이 코드에 제공된 값으로 재설정된다는 의미입니다.

[HideInInspector]
public int myInternalVariable = 0; //Will always be 0 after the first initialization, so if you decide to change the value in the script, it may not always reflect in the Editor. Often used to remove clutter from the inspector.

[System.NonSerialized]
public int myNonSerializedVariable = 1; //The initial value will always be 1, or whatever value is set. Often used to mimic a private variable, while keeping it accessible from within other scripts.

3. '[ExecuteAlways]' 기인하다

'[ExecuteAlways]' 게임이 실행되지 않는 동안에도 스크립트가 편집 모드 및 Prefab 편집 모드에서 실행되도록 강제합니다. 이는 테스트 및 디버깅 목적으로 유용할 수 있습니다.

속성은 클래스 선언 앞에 추가됩니다.

[ExecuteAlways]
public class MyScript : MonoBehaviour {
    // ...
}

4. 'Debug.Break()'

'Debug.Break()' 편집기를 일시 중지합니다.

이 기능은 검사기에서 특정 값을 확인하고 수동으로 일시 중지할 수 없는 경우에 유용합니다.

void Update() {
    if (someCondition) {
        Debug.Break();
    }
}

5. '[Range]' 기인하다

'[Range]' 속성을 사용하면 편집기에서 공개 float 또는 int 변수에 대한 슬라이더를 생성할 수 있으며, 이는 이동 중에 보다 사용자 친화적인 방식으로 값을 조정하는 데 유용할 수 있습니다. 다음과 같이 최소값과 최대값을 제공하세요.

[Range(0f, 1f)]
public float myFloatVariable;

좋아하는 프로그래밍 팁과 요령을 Unity에 적어주세요.

추천 기사
Unity C# 스크립팅 언어 소개
C#의 유용한 키워드 Unity 목록
Unity의 컴포넌트 기반 아키텍처 이해
Unity에서 런타임 애니메이터 컨트롤러 사용
Unity에서 터렛 컨트롤러 만들기
Unity 셰이더를 만드는 방법
루프(For, While)를 사용하여 코드 실행 반복