깨우기 대 시작

Unity의 API 스크립팅은 일련의 초기화 기능을 제공합니다.

초기화 함수는 스크립트 수명주기 시작 시 호출되는 함수입니다.

Unity의 초기화 함수는 'Awake' 및 'Start'입니다.

'Awake' 대 'Start'

'Awake'과 'Start'의 차이점은 실행 순서와 실행 조건입니다.

'Awake' 함수는 스크립트 활성화 여부에 관계없이 먼저 실행되며, 'Start' 함수는 스크립트가 활성화된 경우에만 실행됩니다. 두 함수 모두 첫 번째 'Update' 메서드 이전에 실행됩니다.

    void Awake()
    {
        Debug.Log("Awake runs first");
    }

    void Start()
    {
        Debug.Log("Start runds second");
    }

'Start' 함수는 코루틴이 될 수도 있습니다('void'을 'IEnumerator'로 바꾸고 'yield' 매개변수를 추가하여). 그러나 'Awake' 함수는 그럴 수 없습니다.

    IEnumerator Start()
    {
        //Wait 1 second before running the next code
        yield return new WaitForSeconds(1);

        Debug.Log("Start");
    }

테이크아웃

두 함수 모두 초기화 목적(예: 개인 변수 할당, 게임 개체 생성 등)에 유용하며, 조합하여 사용하면 다양한 시나리오를 구현하는 데 도움이 될 수 있습니다.