참고 링크 : https://skuld2000.tistory.com/25
Mono | Behaviour |
닷넷 프레임워크를 사용하기 위해 개발된 것 | Mono를 활용하여 만든 기본 클래스 |
Monobehaviour
유니티 엔진에서 호출되는 콜백 함수를 제공
: MonoBeHaviour를 상속 받았다면 해당 콜백함수들을 계속 돌리고 있다는 뜻, 사용하지 않는다면 제거하는 것이 좋다.
상세
FixedUpdate
특정 시간마다 호출 (균일한 간격의 작업이 필요할 때 사용 : ex) 부드러운 이동)
Update
매 프레임 마다 호출 (Input과 같이 매 프레임마다 체크가 필요할 때 사용)
Start/Awake
Start는 활성화 이후에 호출됨
(개인적으로)비활성화 상태였다가 활성화시켜서 사용하는 프리팹의 경우 Awake에서 초기화 해주면 편하다
선계산 후랜더링
상세
FixedUpdate
특정 시간마다 호출 (균일한 간격의 작업이 필요할 때 사용 : ex) 부드러운 이동)
Update
매 프레임 마다 호출 (Input과 같이 매 프레임마다 체크가 필요할 때 사용)
Start/Awake
Start는 활성화 이후에 호출됨
(개인적으로)비활성화 상태였다가 활성화시켜서 사용하는 프리팹의 경우 Awake에서 초기화 해주면 편하다
선계산 후랜더링
# MonoBehaviour 클래스 연결
MonoBehaviour를 상속받은 C#스크립트는 AddComponent로 유니티 엔진에 연결한다.
ps. 인스펙터에서 연결해준 gameObject들은 Awake 이전에 연결되어 있다.
# 실험 : new로 MonoBehaviour 상속 클래스를 생성한다면?
new 키워드로 클래스 생성 시 생성은 되는데 Update, Start등 콜백함수가 호출도 되지 않으며 인스펙터에서 연결해준 gameObject도 사용할 수 없게된다.
MonoBehaviour 상속받은 스크립트를 생성하고 유니티 엔진에 올리지 않은 상태와 같다.
# 결론 :
유니티 엔진과 스크립트를 연결하는 클래스
실제로 MonoBehaviour를 상속받지 않은 C#스크립트는 유니티 엔진과 연결되지 않아 gameObject에 컴포넌트로 추가할 수 없다.
'Programming > Unity' 카테고리의 다른 글
[Unity] Vector3는 Heap에 메모리 할당?? (0) | 2020.04.21 |
---|---|
[Unity] 유니티는 단일 쓰레드 (0) | 2020.03.03 |
[Unity] Json 라이브러리 (0) | 2020.03.03 |