2020년 1월 20일 월요일

[유니티 기초] 4. 라이프 사이클


프로젝트에서 오브젝트 하나 준비해둡니다.

지난 번에 리지드바디를 추가한 것처럼
스크립트를 추가할 것입니다.

Add Component - New Script
메뉴로 가서 스크립트 파일 이름과 언어를 정합니다.

언어는 C# 과 JavaScript 둘 중 하나를 선택할 수 있습니다.
유니티에서는 C#을 권장하고 있으므로 C#을 선택하겠습니다.
(앞으로의 강좌도 C#을 기준으로 다룰 예정입니다.)

그럼 이처럼 스크립트 컴포넌트와 파일이 추가됩니다.

이 파일은 자동으로 애셋 폴더에 들어가며,
컴포넌트에서 마우스 클릭으로 위치를 확인 할 수 있습니다.

애셋의 스크립트를 클릭하면 이처럼 코드를 보여줍니다.
이제 더블클릭해서 편집기로 들어가보도록 하겠습니다.

유니티에서는 MonoDevelop이라는 자체 편집기를 제공하고 있습니다.
여기서 스크립트를 요리할 수 있지요.

스크립트를 생성한 직후의 모습입니다.
유니티엔진 패키지와 간단한 클래스 구조가 보이네요.

기본적으로 게임 오브젝트는 MonoBehaviour 클래스로 시작합니다.

MonoBehaviour는 캐릭터뿐만 아니라
게임 상의 대부분 오브젝트를 만들 때 사용된답니다.

그리고 이것은 라이프 사이클 (생명 주기)라는 특징을 가지고 있는데,
우리는 이 사이클에 맞추어 프로그래밍을 해야합니다.

라이프 사이클을 구성하는 함수는 매우 많지만,
 기본적이고 역활이 큰 함수 중심으로 다루도록 하겠습니다.


------------------------------------------------

1. Awake
  : 최초로 로딩될 때 단 한번 실행.
  : 여러 기본 값을 설정하는 곳.
2. Enable
  : 오브젝트가 켜질 때 실행.
  : 여러 번 실행 가능.

3. Start
  : Update 사이클 진입 전 실행.
  : 여러 기본 값을 설정하는 곳.
  : Awake와 다르게 여러 번 실행 가능.

4-1. Update
  : 하나의 프레임마다 실행.
  : 주요 로직을 두는 곳.
  : 최대 1초당 60프레임까지 실행.
  (프레임이 1초에 70번이라도 60번만.)

4-2. FixedUpdate
  : 하나의 고정 프레임마다 실행.
  : 물리, 리지드바디에 대한 로직을 두는 곳.
  : 정확한 물리 시뮬레이팅을 위해 사용.
  : 높은 CPU 부하 유발.

5. Disable
  : 오브젝트가 꺼질 때 실행.
  : 여러 번 실행 가능.

6. Destory
  : 오브젝트에 Destory(삭제) 명령이 내려지거나, Scene이 바뀔 때 실행.


댓글 없음:

댓글 쓰기