Unity Development [1] : 게임 매니저 (Game Manager)
·
Development/3D Engine Development
Unity에서 게임매니저(GameManager)는 게임의 전반적인 흐름과 상태를 중앙에서 관리하는 역할을 한다. 일반적으로 싱글턴(Singleton) 패턴을 사용하여 하나의 인스턴스만 유지하도록 설계되며, 게임의 주요 시스템을 통합적으로 제어하는 기능을 수행한다. 게임매니저는 먼저 게임 상태를 관리하는 역할을 한다. 게임의 시작, 일시 정지, 종료 등의 흐름을 제어하며, 특정 이벤트(예: 플레이어 사망, 레벨 클리어)가 발생하면 적절한 동작을 수행하도록 한다. 또한, 점수, 플레이어 진행 상황, 설정 등의 데이터를 저장하고 불러오는 기능도 포함될 수 있으며, JSON 파일, PlayerPrefs, ScriptableObject 등을 이용하여 데이터를 관리한다. 씬 관리 역시 중요한 기능 중 하나이다. U..
Unity Development [4] : 애니메이션 (Animation)
·
Development/3D Engine Development
유니티(Unity)에서 애니메이션은 캐릭터, 객체, UI 요소 등의 움직임을 제어하고 시각적 효과를 추가하는 데 사용된다. 유니티는 기본적으로 애니메이터 컨트롤러(Animator Controller)와 애니메이션 클립(Animation Clip)이라는 두 가지 주요 요소를 통해 애니메이션 시스템을 관리한다. 애니메이터 컨트롤러는 각 애니메이션 클립 간의 전환을 설정하고, 복잡한 상태 전환 논리를 구성할 수 있도록 돕는다. 애니메이터 컨트롤러는 상태 머신(state machine) 기반으로 동작하며, 각 상태는 특정 애니메이션 클립을 나타낸다. 예를 들어, 게임 캐릭터라면 '대기', '걷기', '달리기', '점프' 등의 상태가 있을 수 있고, 각 상태에 해당하는 애니메이션 클립을 연결할 수 있다. 이를 통..
Unity Development [3] : 컴포넌트 기반 아키텍처
·
Development/3D Engine Development
프리팹 (Prefab) 태그와 레이어 (Tag and Layer)유니티에서 사용하는 게임 오브젝트는 각각의 이름이 존재하고, 이를 분류하기 위해 Tag, Layer라는 두 가지 요소를 사용한다. 두 요소가 정확히 무슨 차이이고, 어떻게 사용되는지 알아보자. 아무 게임 오브젝트나 선택한 후 인스펙터 창에서 Tag나 Layer를 클릭하고 하단 [Add Tag] 또는 [Add Layer]를 클릭하면 Tag & Layers 창으로 이동되며, 이곳에서 태그와 레이어를 관리할 수 있다.Tag유니티에서 태그 (Tags)는 게임 오브젝트를 구분하고 분류하는 데 사용되는 간단한 문자열 레이블이다. 주요 기능은 다음과 같다. 오브젝트 분류: 태그를 사용하여 오브젝트를 그룹화할 수 있다. 예를 들어, 모든 적 캐릭터에 "E..
Unity Development [2] : 물리 시뮬레이션
·
Development/3D Engine Development
콜라이더는 유니티에서 가장 많이 쓰이는 것 중 하나로, 충돌을 감지할 때 쓰입니다.3D에서는 Box Collider, Sphere Collider, Capsule Collider,2D에서는 Box Collider2D와 Circle Collider2D가 대표적으로 쓰입니다.콜라이더의 형태가 간단할수록 기기에 부하를 주지 않습니다.  왼쪽부터 박스콜라이더, 캡슐콜라이더, 스피어콜라이더위 그림은 콜라이더가 충돌을 감지하는 영역을 나타냅니다. 콜라이더의 요소1. Box ColliderisTrigger은 나중에 설명할 예정이니 지금은 무시합시다.Material은 물체 표면의 물리적 특성을 나타냅니다. 물체 표면의 마찰계수, 탄성계수, 정지마찰력 등을 설정할 수 있습니다. 물리 머터리얼을 따로 만들어 넣습니다.Ce..
Unity Development [1] : 사용자 인터페이스와 바인딩
·
Development/3D Engine Development
더보기  Unity의 UI 시스템에서 Canvas는 화면에 UI 요소를 그리기 위한 기본적인 컨테이너이다. 모든 UI 요소는 Canvas 내부에 배치해야 렌더링되며, 화면 상의 위치, 크기, 스케일링 등이 적용된다. Canvas는 Render Mode에 따라 월드 스페이스, 카메라, 스크린 모드로 설정할 수 있으며, 월드 스페이스는 3D 공간에 UI를 배치해 오브젝트와의 상호작용을 가능하게 하고, 카메라 모드는 특정 카메라 뷰에 고정된 UI를, 스크린 모드는 화면 해상도에 맞춰 UI를 표시한다. 예를 들어, 게임의 메인 메뉴가 스크린 모드 Canvas에 추가되면, 화면 크기에 따라 자동으로 조정되며 언제나 동일한 위치에 표시될 수 있다. Unity의 Canvas Sorting Layer와 Order in..