게임프로그래밍/MMORPG 게임 개발(C#, 유니티)

[MMORPG 게임 개발(C#, Unity)] Part 3. 유니티 기초

shine94 2025. 4. 15. 20:32

* Ctrl + Shift + F 단축키
   현재 시점을 카메라 시점으로 변경

* Ctrl + Shift + N 단축키
   create empty

 

* 유니티

   필요한 기능만 끼워 넣어 조합하는 레고 블록 방식의 컴포넌트 기반 아키텍처

 

   [공식문서에서 언급한 부분]

   https://docs.unity3d.com/Manual/Components.html?utm_source=chatgpt.com

   Components are the functional pieces of every GameObject.

   Components contain properties which you can edit to define the behavior of a GameObject.

   

   유니티의 컴포넌트는 기능을 최소 단위로 쪼갠 독립된 모듈이며,

   이를 GameObject에 조합해 오브젝트의 동작을 구성하는 방식이다

   ( = 기능을 쪼개고, 또 쪼개서, 독립적인 구성요소(컨포넌트)로 만들고, 필요한 만큼 조립해 사용하는 방식)

 

   [유니티에서의 Component]

   부품

 

   [유니티에서의 GameObject]

   객체, 유니티의 최소 단위

 

* Transform

   모든 GameObject에 기본 포함된 컴포넌트

   위치, 회전, 크기 담당

 

* MonoBehaviour

   유니티 스크립트 컴포넌트의 기본 클래스

   여기에 Update(), Start() 같은 생명주기 함수 구현

 

* Manager

   중앙 집중형 제어/관리 클래스

   여러 시스템이나 객체를 총괄

 

* Manager 웹의 MVC 패턴에서의 Service와 비슷함

   Service가 여러 도메인 객체를 조율하듯이, Manager 역시 여러 컴포넌트와 시스템을 조율하는 중앙 관리자 역할을 한다

웹(MVC) Unity (Component 기반)
Service 클래스 Manager 클래스
비즈니스 로직 담당 게임 내 전역 로직 담당
Controller ↔ Service ↔ DAO 컴포넌트 ↔ Manager ↔ 리소스/데이터
여러 객체와 상호작용 여러 GameObject 및 컨포넌트와 상호작용

(+) 비즈니스 로직이란?

      사용자의 목적이나 기능 요구사항에 따라 프로그램이 해야 하는 실제 핵심 동작(=일)

 

[정리하면]

   Manager는 게임의 핵심 로직을 담당하며, 유니티에서 Service 레이어의 역할을 유니티에서 수행하는 클래스다

   ㄴ 레이어란? 기능을 구분하고, 서로 연결하는 중간자 역할 

 

https://shine94.tistory.com/426

 

[Unity] 전역 매니저 만들기

🎮 유니티로 전역으로 매니저 클래스 만들 수 있을까?요즘 유니티 공부를 시작했다유니티 공부를 시작하면서 이해가 안되는 부분이 있었다딱 하나만 존재하는 매니저 클래스 만들고 싶은데,,,M

shine94.tistory.com

 

* Singleton 패턴

   프로그램 전체에서 단 하나의 인스턴스만 생성되도록 제한하는 패턴