unity3d 씬 오브젝트 호출 시점

Unity3D 2013. 1. 2. 20:24
반응형

http://blog.naver.com/PostView.nhn?blogId=heajin722&logNo=172049487


1. Awake

게임이 스크립트의 인스턴스를 불러올 때 호출된다.

게임이 시작되기 전에 변수나 게임 상태를 초기화하기 위해 사용된다.

이 함수는 스크립트의 인스턴스가 존재하는 동안 한번 호출되고, 다른 모든 게임 오브젝트가 초기화된 다음에 호출된다.

 

여러 오브젝트가 있을때, 각 게임 오브젝트의 awake함수가 호출되는 순서는 무작위라서 awake함수에서 스크림트 간의 참조를 설정하고 Start 함수에서 정보를 주고 받는다.

 

awake함수는 다른 모든 start함수보다 먼저 호출된다.

 

awake는 생성자와 마찬가지로 한번만 호출된다.

 

awake에서는 SetActivity(true)설정이 안먹네요~~

 

2, Start

다른 Update함수가 호출되기 직전에 호출된다. 스크립트의 인스턴스가 존재하는 동안 단 한번 호출된다.

 

Awake와 Start의 차이점은 Start함수의 경우 스크립트의 인스턴스가 활성화된 경우에만 호출된다.

이 특성을 이용하여 필요한 시점까지 초기화를 지연시킬 수 있다.

 

Start함수는 다른 모든 스크립트에 있는 Awake함수가 호출된 다음에 호출된다.

 

3. Update

MonoBehaviour가 활성화된 상태라면, Update는 매 프레임 호출된다.

Update는 게임 내부에서 다양한 행동을 구현하기 위해 사용되는 가장 일반적인 함수이다.

 

4. Fixed Update

MonoBehaviour가 활성화된 상태라면, Fixed Update는 일정한 시간마다 호출된다.

리지드바디를 다룰 경우에는 Update대신 Fixed Update를 사용해야 한다.

리지드바디에 호스를 가할경우 그 포스는 Fixed Update안에서 일정한 시간마다 적용해야 한다. 물리 시뮬레이션이 일정한 시간 간격마다

이뤄지기 때문........ Fixed Update함수는 각 간격이 시작되기 직전에 호출된다.

 

5. LastUpdate

MonoBehaviour가 활성화된 상태라면 LastUpdate는 매 프레임 호출된다.

LastUpdate는 Update가 호출된 다음에 호출된다. 

 

6. OnGUI

GUI.Button, GUI.Label, GUI.Box 같은 GUI 이벤트를 렌더링하고 제어하는데 사용된다.

따라서 한 프레임에 여러 번 호출 될 수 있다.

만약 MonoBehaviour가 활성화된 상태가 아니라면 OnGUI는 호출되지 않는다.

 

7, OnDrawGizmos

선택할 수 있고, 항상 표시되는 기즈모를 그리고 싶다면 OnDrawGizmos를 사용해야 한다.

이 함수를 이용하면 씬에서 중요한 오브젝트를 빠르고 간편하게 선택할 수 있다.

또한 Gizmos.DrawRay, Gizmos.DrawLine, Gizmos.DrawWireSphere 등을 통해서 라인 내지는 다른 형태의 기즈모를 그려서 디버그 작업을 한결 수월하게 처리할 수 있다.

 

OnDrawGizmos는 씬 뷰를 기준으로 하는 마우스 위치 값을 사용한다.

[출처] 주요 함수|작성자 해진

반응형
: