using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
private void Awake()
{
Debug.Log("Awake함수가 실행되었습니다.");
Debug.Log("Awake함수가 실행되었습니다.");
//게임 오브젝트가 활성화되어있을 시 1회 출력
//컴포넌트 비활성화 상태여도 게임 오브젝트 활성화되면 출력
//데이터를 초기화 시 사용
}
private void Start()
{
Debug.Log("Start함수가 실행되었습니다.");
//현재 씬에서 게임 오브젝트와 컴포넌트가 모두 활성화일 시 1회 호출
//데이터 초기화 시 사용
//첫 번째 업데이트 함수 실행 직전 호출
//초기화 함수 호출 순서 : Awake() -> OnEnable() -> Start()
}
private void OnEnable()
{
Debug.Log("OnEnable함수가 실행되었습니다.");
// 컴포넌트가 비활성화에서 활성화 될때마다 1회 호출
}
private void Update()
{
Debug.Log("Update함수가 실행되었습니다.");
//현재 씬이 실행된 후 컴포넌트가 활성화되어있을 매 프레임마다 호출
//60fps면 1초에 60번 업데이트
}
private void LateUpdate()
{
Debug.Log("LateUpdate함수가 실행되었습니다.");
//현재 씬에 존재하는 모든 게임 오브젝트의 Update()함수가 1회 실행된 후 호출
//Update() -> LateUpdate()
}
private void FixedUpdate()
{
Debug.Log("FixedUpdate함수가 실행되었습니다.");
//프레임에 영향을 받지 않고 일정한 간격으로 호출
//Edit - Project Settings - Time 옵션의 Fixed Timestep 변수로 조절 가능
}
private void OnDestroy()
{
Debug.Log("OnDestroy함수가 실행되었습니다.");
//게임 오브젝트가 파괴 시 1회 호출
//씬이 변경되거나 게임 종료 시에도 게임 오브젝트가 파괴되므로 호출
}
private void OnApplicationQuit()
{
Debug.Log("OnApplicationQuit 함수가 실행되었습니다.");
//게임 종료 시 1회 호출
//유니티 에디터에서는 플레이 모드 중지 시 호출
}
private void DisEnable()
{
Debug.Log("DisEnable함수가 실행되었습니다.");
//컴포넌트 활성화 -> 비활성화 시 1회 호출 (OnEnable과 반대)
}
}
C#
복사