void Awake()
 {
  // Play 버튼을 누르거나 객체가 생성될 때 호출된다. (딱 1번만)
  // 즉 씬에 배치되어있는 컴포넌트라면 Play버튼을 눌렀을 경우 호출되고
  // 실행중에 동적으로 생성되는 경우에는 Instantiate() 함수를 호출 했을 때 호출된다.
  // 반드시 필요한 초기화는 이곳에서 하는게 좋으며 부하가 큰 처리는 피하는게 좋다. 
 }
  
 void Start()
 { 
  // Play 버튼을 누르거나 객체가 생성된 이후 첫 Update 가 호출되는 타이밍일 때
  // Start()가 호출된 적이 없다면 Start()를 먼저 호출하고 이후에 Update()를 호출한다. (딱 1번만) 
  // 초기화 작업중 반드시 생성과 동시에 할 필요 없는 내용은 이곳에서 처리한다.  
 }

 void Reset()
 {
  // 스크립트가 게임오브젝트에 컴포넌트로 등록될 때 혹은 컴포넌트 우측 상단에 있는
  // Gear 모양의 아이콘을 클릭하여 Reset메뉴를 실행할 때 호출된다.
  // 주로 초기화 관련 처리를 해주는 용도로 사용하며 Awake()나 Start()와 달리
  // 컴포넌트로 등록할 때 한번만 호출되기 때문에 초기화에 대한 부하를 줄이고 싶다면 유용하다.
 }
  
 void Update()
 {
  // 매 프레임 렌더링시 호출되며 최대 호출 간격은 기본적으로 초당 60번 정도이다.(완전 일치하지는 않음)
  // 만약 렌더링 프레임 레이트가 호출 간격 제한인 60번을 넘길경우 무시되며,
  // 렌더링 프레임 레이트가 60번 미만인 경우 그 만큼만 호출된다.
  // 만약 최대 호출 간격을 조종하고 싶다면 "Time.captureFramerate = 초당 호출 수" 를 이용하면 된다.
  // 주로 게임의 갱신에 사용되며 불규칙적인 호출이 되도 문제가 없거나 없도록 처리해야한다.
  // 즉 렌더링을 할 때만 호출되므로 렌더링 관련이나 애니메이션 등의 보여지는거에 관계있는 것들의
  // 갱신 처리가 주가 된다.
  // 캐릭터의 이동 등을 Time.deltaTime을 이용해서 구현하기도 함.
 }

 void FixedUpdate()
 {
  // 정해진 주기에 따라 고정적으로 호출된다.
  // 호출 주기는 Edit -> Project Settting -> Time에서 Fixed Timestep 항목을 조종하면 된다.
  // 기본값은 0.02초로 초당 50번 호출하도록 되어있고 초당 60번을 호출하고 싶다면 0.016666666을 넣으면 된다.
  // 불규칙하게 호출되면 안되는 내용은 이곳에서 처리한다. (주로 물리, 이동, 네트웍, 입력 등을 처리)
 }

 void OnDestroy()
 {
  // 객체가 소멸 되거나 Destroy() 함수를 이용해서 소멸 시킬 때 호출된다.
  // 캐릭터가 죽으면서 처리할 내용, 예를들어 레그돌이나 폭발효과, 이벤트 발생 등의 일을 처리하기 좋다.
 }
}


- 데브코리아 펌


WRITTEN BY
빨강꼬마

,