Awake( )
void Awake()
{
Debug.Log("Awake()");
}
오브젝트가 활성화 될 때 단 한번만 실행하는 함수, 모든 변수를 초기화.
스크립트가 비활성화 되고, 오브젝트 활성화 되어있을 때 유일하게 호출되는 함수.
Start( )
void Start()
{
Debug.Log("start()");
Destroy(gameObject, 3f);
}
오브젝트가 활성화 될 때 단 한번만 실행하는 함수, 모든 변수를 초기화.
Awake와 달리 스크립트와 오브젝트 둘다 활성화 되어있을때 호출된다.
OnEnable( )
void OnEnable()
{
Debug.Log("OnEnable()");
}
// 오브젝트가 활성화될 때 실행.
OnDisable( )
void OnDisable()
{
Debug.Log("OnDisable()");
}
// 오브젝트가 비활성화 될 때 실행.
FixedUpdate( )
void FixedUpdate()
{
Debug.Log("FixedUpdate()");
}
// 델타타임 적용이 필요한 업데이트(물리구현이 필요한 씬에 쓰인다.)
Update( )
void Update()
{
Debug.Log("Update()");
}
// FixedUpdate를 제외한 나머지 업데이트.
LateUpdate( )
void LateUpdate()
{
Debug.Log("LateUpdate()");
}
// 캐릭터를 움직인 후 주로 카메라 움직일때 사용하는 업데이트
// lateupdate를 쓰면 장점이 카메라가 포지션을 추적하기 전에 캐릭터가 완전히 움직였는지 확인할 수 있다는 장점이 있다.
OnDestroy( )
void OnDestroy()
{
Debug.Log("OnDestory()");
}
// 오브젝트가 제거 될 때 실행.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LogTest : MonoBehaviour // 모든 컴포넌트는 MonoBehavior 에 상속받는다. //
{
// 오브젝트가 활성화 될 때 단 한번만 실행하는 함수, 모든 변수를 초기화.
// 스크립트가 비활성화 되고, 오브젝트 활성화 되어있을 때 유일하게 호출되는 함수.
void Awake()
{
Debug.Log("Awake()");
}
// 오브젝트가 활성화될 때 실행.
void OnEnable()
{
Debug.Log("OnEnable()");
}
// 오브젝트가 활성화 될 때 단 한번만 실행하는 함수, 모든 변수를 초기화.
// Awake와 달리 스크립트와 오브젝트 둘다 활성화 되어있을때 호출된다.
void Start()
{
Debug.Log("start()");
Destroy(gameObject, 3f); // 여기서 gameObject는 큐브를 의미함. 3f는 딜레이 시간, 3초뒤에 나 자신을 파괴함. 오브젝트를 파괴시키면 onDestory()가 호출됨을 알 수 있다.
//Debug.LogError("테스트를 위한 에러 로그");
}
// 델타타임 적용이 필요한 업데이트(물리학)
void FixedUpdate()
{
Debug.Log("FixedUpdate()");
}
// 단순한 업데이트
void Update()
{
Debug.Log("Update()");
}
// 캐릭터를 움직인 후 주로 카메라 움직일때 사용하는 업데이트
// lateupdate를 쓰면 장점이 카메라가 포지션을 추적하기 전에 캐릭터가 완전히 움직였는지 확인할 수 있다는 장점이 있다.
void LateUpdate()
{
Debug.Log("LateUpdate()");
}
// 오브젝트가 비활성화 될 때 실행.
void OnDisable()
{
Debug.Log("OnDisable()");
}
// 오브젝트가 제거 될 때 실행.
void OnDestroy()
{
Debug.Log("OnDestory()");
}
}
위의 코드는 유니티의 각 이벤트 함수를 하나씩 적용한 함수들이다.
start() 내부에 Destroy() 함수를 추가해서, 3초뒤에 오브젝트를 파괴하는것을 구현해 보았다.
이벤트 함수의 실행 순서는 위의 오른쪽 움짤에서 보다시피
Awake( ) → OnEnable( ) → Start( ) → FixedUpdate( ) → Update( ) → LateUpdate( ) → OnDisable( ) → OnDestory( )
순서로 함수 호출이 일어난 것을 확인할 수 있다.
반응형
'Programming > C# | Unity' 카테고리의 다른 글
[그래픽스] 렌더링 파이프라인 (0) | 2022.09.08 |
---|---|
[Unity] 1인칭 마우스 입력 / 카메라 회전 & Zoom 기능 구현하기. (0) | 2022.08.15 |
[Unity] 상속 & 인터페이스 총 정리 (0) | 2022.08.14 |
[Unity] 델리게이트(Dlegate) & 이벤트(Event) 쉽게 접근하기. (1) | 2022.08.13 |
[Unitiy] Raycast _ 마우스 입력으로 오브젝트 변화시키기 (3) | 2022.08.07 |