차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
unity:executionorder [2015/05/22 08:34] – 문서가 unity3d:executionorder에서 unity:executionorder(으)로 옮겨졌습니다 V_L | unity:executionorder [2022/01/02 15:29] (현재) – [실행 순서 (Execution Order)] 61.74.132.138 | ||
---|---|---|---|
줄 1: | 줄 1: | ||
+ | {{tag> | ||
+ | ======실행 순서 (Execution Order)====== | ||
+ | Unity 스크립팅에서 스크립트는 미리 정해진 순서대로 실행된다. | ||
- | ======Execution Order====== | ||
- | Unity 스크립팅에서 스크립트가 실행되는 것처럼 미리 정해진 순서대로 실행되는 많은 이벤트 함수가 있습니다. 이 실행 순서는 아래에서 설명됩니다: | ||
- | ======First Scene Load====== | + | =====First Scene Load===== |
- | 이러한 함수는 씬이 시작될 때 불려집니다 (씬에서 각 물체를 위해서 한 번). | + | 이러한 함수는 씬이 시작될 때 불려진다 (씬에서 각 물체를 위해서 한 번). |
- | * _Awake:_ 이 함수는 모든 시작 함수전에 불려지고 prefab이 객체화된 후에 불려집니다. | + | * __Awake:__ 이 함수는 모든 시작 함수전에 불려지고 prefab이 객체화된 후에 불려진다. |
- | * _OnEnable:_ (물체가 활성화될 때만 불려집니다) : 이 함수는 물체가 활성화된 후에 불려집니다. | + | * __OnEnable:__ (물체가 활성화될 때만 불려진다) : 이 함수는 물체가 활성화된 후에 불려진다. |
- | ======Before the first frame update====== | + | =====Before the first frame update===== |
- | * _Start:_ 스크립트 인스턴스가 활성화될 때만 첫 번째 프레임 업데이트 전에 Start가 불려집니다. | + | * __Start:__ 스크립트 인스턴스가 활성화될 때만 첫 번째 프레임 업데이트 전에 Start가 불려진다. |
- | ======Update Order====== | + | =====Update Order===== |
- | 사용자가 게임 로직과 상호 작용, 애니메이션, | + | 사용자가 게임 로직과 상호 작용, 애니메이션, |
- | * _FixedUpdate: | ||
- | * _Update:_ // | + | * __Update:__ // |
- | * _LateUpdate: | ||
+ | * __FixedUpdate: | ||
- | ======Rendering====== | + | * __LateUpdate: |
- | * _OnPreCull:_ 카메라가 씬을 추려내기 전에 불려집니다. Culling은 어떤 물체가 카메라에 보일지를 결정합니다. Culling일 일어나기 전에OnPreCull이 불려집니다. | + | =====Rendering===== |
- | * _OnBecameVisible/ | + | * __OnPreCull:__ 카메라가 씬을 추려내기 전에 불려진다. Culling은 어떤 물체가 카메라에 보일지를 결정함. Culling일 일어나기 전에OnPreCull이 불려진다. |
- | * _OnWillRenderObject:_ 물체가 보이면 각 카메라를 위해서 | + | * __OnBecameVisible/ |
- | * _OnPreRender:_ 카메라가 씬을 렌더링하는 것을 시작하기 전에 불려집니다. | + | * __OnWillRenderObject:__ 물체가 보이면 각 카메라를 위해서 |
- | * _OnRenderObject:_ 모든 보통 씬 렌더링이 끝난 후에 불려집니다. 사용자는 이 시점에 사용자 정의 기하를 그리기 위해 GL 클래스 또는 Graphics.DrawMeshNow를 사용할 수 있습니다. | + | * __OnPreRender:__ 카메라가 씬을 렌더링하는 것을 시작하기 전에 불려진다. |
- | * _OnPostRender:_ 카메라가 씬을 렌더링하는 것을 끝낸 후에 불려집니다. | + | * __OnRenderObject:__ 모든 보통 씬 렌더링이 끝난 후에 불려진다. 사용자는 이 시점에 사용자 정의 기하를 그리기 위해 GL 클래스 또는 Graphics.DrawMeshNow를 사용할 수 있다. |
- | * _OnRenderImage(Pro only):_ 스크린 이미지의 포스트 프로세싱을 허용하기 위해서 씬 렌더링이 완전해진 후에 불려집니다. | + | * __OnPostRender:__ 카메라가 씬을 렌더링하는 것을 끝낸 후에 불려진다. |
- | * _OnGUI:_ GUI 이벤트에 대한 응답으로서 프레임당 여러번 불려집니다. 각 입력 이벤트를 위한 레이아웃과 키보드/ | + | * __OnRenderImage(Pro only):__ 스크린 이미지의 포스트 프로세싱을 허용하기 위해서 씬 렌더링이 완전해진 후에 불려진다. |
- | * _OnDrawGizmos_ | + | * __OnGUI:__ GUI 이벤트에 대한 응답으로서 프레임당 여러번 불려진다. 각 입력 이벤트를 위한 레이아웃과 키보드/ |
+ | * __OnDrawGizmos__ | ||
- | ======Coroutine====== | + | =====Coroutine===== |
- | 보통의coroutine 업데이트는 업데이트 함수가 리턴한 후에 실행됩니다. Coroutine은 주어진YieldInstruction가 끝낼 때까지 그것의 실행을 중지할 수 있는 함수입니다. Coroutines의 다른 사용은 다음과 같습니다: | + | 보통의 |
- | * _yield;_ Coroutine는 다음 프레임에서 부려지는 모든 업데이트 함수가 불려진 후에 계속될 것입니다. | + | * __yield;__ Coroutine는 다음 프레임에서 부려지는 모든 업데이트 함수가 불려진 후에 계속될 것임. |
- | * _yield | + | * __yield |
- | * _yield | + | * __yield |
- | * _yield WWW_ WWW 다운로드가 완료된 후에 계속됩니다. | + | * __yield WWW__ WWW 다운로드가 완료된 후에 계속된다. |
- | * _yield | + | * __yield |
- | ======When Quitting====== | + | =====When Quitting===== |
- | 이러한 함수들은 사용자의 씬에서 모든 활동적인 물체위에서 불려집니다, : | + | 이러한 함수들은 사용자의 씬에서 모든 활동적인 물체위에서 불려진다, : |
- | * _OnApplicationQuit:_ 이 함수는 어플리케이션이 죵료하기 전에 모든 게임 물체위에서 불려집니다. 편집기에서 사용자가 플레이 모드를 멈출 때 불려집니다. 웹 플레이어에서 웹 뷰가 닫힐 때 불려집니다. | + | * __OnApplicationQuit:__ 이 함수는 어플리케이션이 죵료하기 전에 모든 게임 물체위에서 불려진다. 편집기에서 사용자가 플레이 모드를 멈출 때 불려진다. 웹 플레이어에서 웹 뷰가 닫힐 때 불려진다. |
- | * _OnDisable:_ 이 함수는 행동이 비활성화될 때 불려집니다. | + | * __OnDisable:__ 이 함수는 행동이 비활성화될 때 불려진다. |
- | ====So in conclusion, this is the execution order for any given script:==== | + | =====정리하면===== |
+ | 아래의 순서로 실행되가 된다. | ||
* 모든 Awake calls | * 모든 Awake calls | ||
* 모든 Start Calls | * 모든 Start Calls | ||
- | *_while_ | + | |
* 모든 FixedUpdate 함수들 | * 모든 FixedUpdate 함수들 | ||
* Physics simulation | * Physics simulation | ||
줄 55: | 줄 57: | ||
* OnEnter/ | * OnEnter/ | ||
- | * Rigidbody 보간은transform.position 과 회전을 적용합니다 | + | * Rigidbody 보간은transform.position 과 회전을 적용함 |
* OnMouseDown/ | * OnMouseDown/ | ||
* 모든 Update 함수들 | * 모든 Update 함수들 | ||
- | * 애니메이션은 발전하고 블렌드되고transform 에 적용됩니다 | + | * 애니메이션은 발전하고 블렌드되고transform 에 적용된다 |
* 모든 LateUpdate 함수들 | * 모든 LateUpdate 함수들 | ||
* Rendering | * Rendering | ||
- | ======Hints====== | + | =====Hints===== |
- | * 사용자가 LateUpdate에서 coroutine을 시작한다면 그것은 렌더링 바로 전에 | + | * 사용자가 LateUpdate에서 coroutine을 시작한다면 그것은 렌더링 바로 전에 |
- | * Coroutines은 모든 업데이트 함수 이후에 실행됩니다. | + | * Coroutines은 모든 업데이트 함수 이후에 실행된다. |
- | |||
- | {{tag> | ||
* 출처: [[http:// | * 출처: [[http:// | ||