개발/UNITY

Unity Introduction

개발자 구리 2022. 4. 18. 20:15

용어 정리

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회 호출. 유니티 에디터에서는 플레이 모드를 중지할 때 호출.