Unity C# Script

🔴 스크립트의 역할

  • 스크립트가 컴포넌트로 종속된 게임 오브젝트에 주어지는 각종 명령 제어
  • 게임 내에 사용되는 여러 오브젝트들을 생성, 삭제 및 관리
  • 게임 전체 또는 일부를 관리하는 게임 내 시스템 구현


🔴 Unity Event Function( )

초기화 이벤트 함수
  • Awake ( )
    • 현재 Scene에서 게임오브젝트가 활성화 되어 있을 때 1회 호출
    • 비활성화 되어 있다면 활성화 할때 1회 실행
    • 데이터를 초기화 하는 용도로 사용
  • OnEnable ( )
    • 컴포넌트가 비활성와 되었다가 활성화 될 때마다 1회 실행
  • Start ( )
    • 현재 Scene에서 게임오브젝트와 컴포넌트 모두 활성화 되었을 때 1회 호출
    • 데이터를 초기화 하는 용도로 사용
    • 첫 번째 업데이트 함수가 실행되기 직전에 호출
    • Awake() -> OnEnable() -> Start()
업데이트 이벤트 함수
  • Update ( )
    • 현재 Scene이 실행 된 후 컴포넌트가 활성화되어 있을 때 매 Frame마다 호출
    • FPS 60이라면, Update() 1초에 60번 호출 됨
  • LateUpdate ( )
    • 현재 Scene에 존재하는 모든 게임오브젝트의 Update() 1회 실행 된 후 실행
    • Update() -> LateUpdate()
    • 플레이어 캐릭터가 Update()를 이용해 움직이고 난 후 카메라는 LateUpdate()에서 플레이어의 위치를 바탕으로 이동을 한다.
    • Update()와 마찬가지로 FPS에 영향을 받음
  • FixedUpdate ( )
    • frame에 영향을 받지 않고 일정한 간격으로 호출
    • Edit > Project Setting > Time 옵션의 Fixed Timestep 변수로 조절 가능
    • 기본값 0.02로 0.02초에 1번 호출 = 1초에 50번 호출
오브젝트 파괴 이벤트 함수
  • OnDestroy( )
    • 게임 오브젝트가 파괴될 때 1회 호출
    • Scene이 변경 되거나 게임이 종료될 때에도 오브젝트가 파괴되기 때문에 호출된다.
종료 이벤트 함수
  • OnApplicationQuit( )
    • 게임이 종료될 때 1회 호출
    • 유니티 에디터에서는 플레이 모드를 중지할 때 호출된다.
  • Ondisable( )
    • 컴포넌트가 활성화 되었다가 비활성화 될 때 마다 1회 호출 (OnEnable() 과 반대) ***

유니티 사전 정의 이벤트 함수 Flow