Unity Introduction
용어 정리
Scene : 게임의 장면이나 상태를 저장하는 단위. 하나의 거대한 게임을 씬 단위로 관리한다.
ex. Intro Scene, Menu Scene, Stage 1 ~ N Scene, GameOver Scene, Ending Scene, Etc.
Hierarchy View에 배치된 오브젝트들이 현재 Scene에 존재하는 오브젝트들이다.
Renderer
- Sprite Renderer 컴포넌트 : 2차원의 이미지를 화면에 출력
- Mesh Renderer 컴포넌트 : 3차원의 오브젝트(물체)를 화면에 출력
GameObject : Scene에 배치되는 하나의 물체를 지칭하는 단위. 게임 오브젝트에 원하는 컴포넌트들을 추가해서 다양한 오브젝트를 만들 수 있다.
Component : 게임 오브젝트에 부착할 수 있는 C# Script 파일을 지칭한다. 앞서 말한 Renderer 및 사운드 효과, 물리 처리 등은 유니티 엔진에서 제공한다. 그 외에 내가 C#으로 작성할수도 있고, 에셋 스토어에서 다운로드하여 사용할수도 있다.
Asset : 프로젝트 내부에서 사용하는 모든 리소스를 지칭하는 단위.
Prefab : Hierarchy View에 있는 게임 오브젝트들을 파일 형태로 저장하는 단위.
Prefab을 사용하여 얻을 수 있는 장점으로는,
- 동일한 게임 오브젝트를 여러 Scene이나 게임 월드 특정 장소에 배치할 때 간단히 Drag & Drop으로 배치 가능하다.
- 기획상의 변경이 있을 때 Prefab 원본을 갱신하게 되면 모든 Scene에 복사되어 배치된 게임 프로젝트들도 원본과 동일하게 업데이트 된다.
객체지향!!
Unity C# Script
Component로 사용될 경우 게임 오브젝트에 종속되어 각종 명령을 제어하게 되고,
그 외에 다른 오브젝트들을 생성/삭제하기도 하고
게임이 작동하기 위해 필요한 모든 것을 작성 가능하다.
Awake() 함수 : 현재 Scene에서 게임 오브젝트가 활성화 되어 있을 때 1회 호출. 데이터를 초기화하는 용도로 사용한다.
Start() 함수 : 현재 Scene에서 게임 오브젝트와 컴포넌트가 모두 활성화 되어 있을 때 1회 호출. 데이터를 초기화하는 용도로 사용한다.
OnEnable() 함수 : 컴포넌트가 비활성화 되었다가 활성화 될 때마다 1회 호출.
<-> OnDisable() 함수 : 컴포넌트가 활성화 되었다가 비활성화 될 때마다 1회 호출.
초기화 함수 호출 순서 : Awake() -> OnEnable() -> Start()
Update() 함수 : 현재 Scene이 실행된 후 컴포넌트가 활성화되어 있을 때 매 프레임마다 호출.
LateUpdate() 함수 : 현재 Scene에 존재하는 모든 게임 오브젝트의 Update() 함수가 1회 실행된 후 실행된다.
FixedUPdate() 함수 : 프레임의 영향을 받지 않고 일정한 간격으로 호출.
업데이트 함수 호출 순서 : Update() -> LateUpdate()
OnDestroy() 함수 : 게임 오브젝트가 파괴될 때 1회 호출.
OnApplicationQuit() 함수 : 게임이 종료될 때 1회 호출. 유니티 에디터에서는 플레이 모드를 중지할 때 호출.