2014년 8월 12일 화요일

[Unity] Awake, Start, Update, LateUpdate, FixedUpdate의 일반적인 사용법

사실 이 함수들은 Unity Script Reference에 잘 설명되어있어서 설명은 링크로 대체합니다.

코딩하면서 알아야하는 위 함수의 차이점은. Awake는 생성자고, Start는 생성자가 아니라는것입니다. Editor상에서 스크립트에 체크가 되어있지않아도 실제로는 인스턴스가 생성되기때문에 Awake는 생성시 한번 호출되지만, Start는 호출이 되지않고 첫 Update직전에만 호출됩니다. Start에 초기화구문을 넣었다면 초기화전에 객체를 사용하게되는 예외상황이 발생할 위험이 있지만, 초기화가 다른 객체에 의존해야할 경우에는 때때로 사용하는 경우도 있습니다.

Update함수는 매 프레임마다 호출됩니다. cocos2d에서는 deltatime을 인자로 전달해주는데, Unity에서는 Time.deltatime을 이용합니다. LateUpdate는 Update가 완료된이후 호출됩니다. 캐릭터의 위치나 애니메이션을 처리하는등 후연산이 필요할때 유용하게 쓰일수있습니다. FixedUpdate는 그렇게 자주 쓰이는 함수는 아닙니다. 물리연산시 이 함수 내에서 처리하는것을 권장하는데, 그 이유는 Update함수에 비해서 호출주기가 일정하기때문입니다. 호출주기는 초당50회로 알려져있습니다.

댓글 없음:

댓글 쓰기