Framework : 뼈대
- 프로그램에서의 프레임워크는 프록램의 뼈대라는 의미
- 유니티 프래임워크 : 유니티 프로그램의 동자 순서
유니티 프레임워크
1. Initialization
2. Physics
3. Game logic
4. Decommissioning
- Initialization
- Awake : 항상 Start함수 전에 호출되며 프리팹이 인스턴스화 된 직후에 호출 된다. 게임 오브젝트가 시작하는 동안 비활성 상태인 경우 Awake 함수는 활성화될때까지 호출되지 않는다.
- OnEnable : 오브젝트가 활성화 직후 이 함수를 호출한다. -> Awake와 다르게 Object가 비활성된 경우에는 호출되지 않는다.
- Start : 스크립트 인스턴스가 활성화된 경우에만 첫 번째 프레임 업데이트 전에 호출된다.
- Physics
- FixedUpdate : 모든 물리 계산 및 업데이트는 FixedUpdate후 즉시 발생한다. 프레임속도가 낮은 경우 여러번 호출될 수 있다.컴퓨터간 성능이 다르기 때문에 물리연산을 가변시간으로 계산하게 된다면 각 컴퓨터 마다 물리계산 값이 달라지게 된다. 이를 해결하기 위해 물리계산을 할때 FixedUpdate에서 고정시간으로 물리계산을 하여 어떤 컴퓨터든지 물리계산을 할때 같은 값이 도출되도록 한다. 유니티의 고정시간은 FPS = 50프레임 -> Time.deltaTime = 0.02이다.
-
Game Logic
- Update : 프레임당 한번 호출, 주요 작업에 사용하는 함수
- LateUpdate : Update가 끝난 후 한번 호출된다. Update에서 수행된 모든계산은 LateUpdate가 시작할 때 완료된다. Update가 끝난 후 어떤 이벤트가 필요할 때 사용한다.
-
Decommissioning
- OnApplicationQuit : 에플리케이션 종료 전 모든 게임오브젝트에서 호출된다. 사용자가 플레이 모드를 중지할때 호출된다.
- OnDisable : 동작이 비활성되거나 비활성 상태일 때 호출된다.
- OnDestroy : 오브젝트를 파괴할때 호출, 오브젝트 존재의 마지막 프레임에 대해 모든 프레임 업데이트를 마친 후 호출된다.