LeeTaes 공부노트

[Unity] 유니티 공부 시작. 게임 오브젝트 및 컴포넌트 본문

Game Programming/Unity Engine

[Unity] 유니티 공부 시작. 게임 오브젝트 및 컴포넌트

리태s 2024. 7. 3. 13:44
728x90
반응형

개요

저는 지금까지 C++ 및 언리얼 엔진에 대해 공부해 왔으며, 게임 클라이언트 프로그래머가 되기 위해 준비 중입니다.

최근 여러 기업들에 이력서를 넣어보며 생각보다 언리얼 엔진을 사용하는 기업의 채용 공고가 자주 올라오지 않기에 조금씩 유니티 엔진을 사용해보기로 마음먹고, 공부한 내용이나 개발을 진행하며 막히는 부분에 대해 정리를 해볼 예정입니다.


게임 오브젝트(Game Object)

게임 오브젝트(GameObjects) 는 Unity의 기초적인 오브젝트로 예를 들어, 캐릭터, 아이템, 환경 등 모든 것이 게임 오브젝트로 표현됩니다. 독자적으로 많은 것을 하기보다는 실질적 기능을 수행하는 컴포넌트(Components) 의 컨테이너 역할을 합니다.

 

게임 오브젝트는 항상 부착된 Transform 컴포넌트를 가지며 이를 제거할 수 없으며, 게임 오브젝트 자체로는 아무것도 할 수 없다는 특징을 가지고 있습니다.


컴포넌트(Component)

컴포넌트(Component)는 게임 오브젝트에 추가되어 다양한 기능행동부여합니다.

 

즉, 컴포넌트는 게임 오브젝트에 붙일 수 있는 다양한 기능을 가진 구성요소들로, 비어있는 게임 오브젝트에 어떤 컴포넌트를 붙이느냐에 따라서 그 게임 오브젝트의 역할이 달라지게 됩니다.


실습 : 게임 오브젝트를 생성하고 컴포넌트를 추가해보기

이번에는 간단히 게임 오브젝트를 생성하고, 화면에 물체를 그려주기 위해 Mesh Filter, Mesh Renderer 컴포넌트를 추가해보도록 하겠습니다.

 

게임 오브젝트를 생성하는 것은 간단합니다.

 

유니티 엔진 상단의 GameObject를 클릭하고 Create Empty를 선택하여 게임 오브젝트 생성이 가능하며, Hierarchy 탭에서 우클릭 후 Create Empty를 선택하는 방법도 존재합니다.

 

추가적으로 단축키 [ Ctrl + Shift + N ]를 눌러 즉시 생성도 가능합니다.

 

생성된 게임 오브젝트를 확인해보면 Inspector 창에 Transform 컴포넌트만 들어있는 것을 확인할 수 있습니다.

 

여기서 AddComponent를 통해 화면에 물체를 그려주기 위한 Mesh FilterMesh Renderer 컴포넌트를 추가해주도록 하겠습니다.

  • Mesh Filter 컴포넌트는 게임 오브젝트에 메쉬 데이터를 할당하는 역할을 합니다.
  • Mesh Renderer 컴포넌트는 Mesh Filter가 제공하는 메쉬 데이터를 화면에 렌더링하는 역할을 합니다.

 

두 가지 컴포넌트가 추가되었다면 화면에 그려줄 Mesh와 Mesh에 사용할 Material을 추가해주면 해당 물체가 화면에 그려지게 됩니다.

 

간단히 Cube Mesh와 Default Material을 설정하여 확인해보도록 하겠습니다.


정리

게임 오브젝트와 컴포넌트에 대해 간략하게 정리해보고, 실제로 게임 오브젝트를 생성하여 컴포넌트를 추가해보며 화면에 물체를 그리는 방법에 대해 알아보았습니다.

 

언리얼 엔진과 유사하지만 다른 부분이 많아서 적응하는데 조금 시간이 걸리겠지만 처음 유니티 엔진을 접해보며 꾸준히 공부하여 유니티 엔진으로도 멋진 게임을 제작해보고 싶다는 생각이 들게 되었습니다.

 

참고 자료

https://docs.unity3d.com/kr/2019.4/Manual/GameObjects.html

 

게임 오브젝트 - Unity 매뉴얼

게임 오브젝트(Game Object) 는 Unity 에디터에서 가장 중요한 개념입니다.

docs.unity3d.com

https://docs.unity3d.com/kr/2019.4/Manual/Components.html

 

컴포넌트 소개 - Unity 매뉴얼

게임 오브젝트는 컴포넌트를 포함하고 있는 Unity 에디터의 오브젝트입니다. 컴포넌트는 해당 게임 오브젝트의 동작을 정의합니다.

docs.unity3d.com

 

728x90
반응형