본문 바로가기

알아두면 좋은것들40

03.13 (TIL) 시네머신(Cinemachine)이란? 시네머신은 Unity에서 제공하는 고급 카메라 시스템 플러그인으로, 복잡한 카메라 워크와 동적 카메라 컨트롤을 손쉽게 구현할 수 있도록 도와줍니다. 개발자와 시네마틱 크리에이터가 게임 내에서 영화 같은 카메라 이동, 스무스한 카메라 추적, 멀티 카메라 설정 등을 구현할 수 있게 해줍니다. 시네머신은 무료로 제공되며, Unity 프로젝트에 손쉽게 추가하여 사용할 수 있습니다. 장점: 유연성과 강력한 컨트롤: 다양한 카메라 워크와 행동을 미리 정의된 모듈을 통해 쉽게 설정할 수 있습니다. 시간 절약: 시네마틱 컷씬이나 카메라 워크를 수동으로 코딩하는 것에 비해 훨씬 빠르고 효율적으로 구현할 수 있습니다. 직관적인 사용자 인터페이스: 시각적 툴과 인터페이스를 통해 카메라 .. 2024. 3. 15.
03.12 (TIL) Attribute 사용 경험 및 설명 Attribute는 클래스, 메서드, 변수 등의 선언에 추가 정보를 제공하는 방법으로, 메타데이터 형태로 사용됩니다. Unity에서는 Attribute를 사용하여 인스펙터 창에서의 변수 표시 방식을 커스터마이즈하거나, 특정 메서드가 에디터 상에서 특정 시점에 자동으로 호출되도록 설정하는 등 다양한 목적으로 활용됩니다. 사용한 경험: Unity 프로젝트에서 [SerializeField] Attribute를 자주 사용했습니다. 이 Attribute를 사용하여 private 필드라도 Unity 인스펙터에서 수정할 수 있도록 했습니다. 이 방법은 데이터 캡슐화를 유지하면서도, 에디터를 통해 쉽게 값을 조정할 수 있게 해주어 개발 과정을 더욱 효율적으로 만들었습니다. usin.. 2024. 3. 12.
03.11 (TIL) 프리팹(Prefab)이란? Unity에서 프리팹(Prefab)은 재사용 가능한 게임 오브젝트 템플릿입니다. 프리팹을 사용하면 설정된 속성, 컴포넌트, 자식 오브젝트를 포함하는 게임 오브젝트를 미리 만들어 놓고, 이를 게임 씬에 여러 번 반복해서 사용할 수 있습니다. 프리팹 시스템을 통해 게임 개발의 효율성을 높이고, 일관성을 유지하며, 쉽게 관리할 수 있습니다. 사용 방법: 프리팹 생성: 씬에 게임 오브젝트를 생성하고, 원하는 컴포넌트와 설정을 적용합니다. 그 후, 이 오브젝트를 프로젝트 뷰로 드래그하여 프리팹으로 만듭니다. 프리팹 인스턴스화: 프리팹은 프로젝트 뷰에 저장되며, 씬에 여러 번 드래그하여 인스턴스화할 수 있습니다. 모든 인스턴스는 원본 프리팹을 참조하기 때문에, 프리팹을 수정하면 모든 인스.. 2024. 3. 12.
03.08 (TIL) Scene Load의 종류 비교 Unity에서 씬(Scene)을 로드하는 방법에는 주로 SceneManager.LoadScene 메서드를 사용하는 방식과 SceneManager.LoadSceneAsync를 사용하는 비동기 방식이 있습니다. 각각의 방식은 씬 로딩 시의 사용자 경험과 게임의 흐름에 영향을 미칩니다. SceneManager.LoadScene: 이 메서드는 씬을 동기적으로 로드합니다. 새 씬으로의 전환을 시작하면, 현재 진행 중인 모든 작업이 완료될 때까지 다음 코드로 넘어가지 않습니다. 씬 로딩 도중에는 게임이 일시적으로 멈추는 현상이 발생할 수 있어, 작은 씬에서 주로 사용됩니다. 사용 예: SceneManager.LoadScene("GameScene"); SceneManager.LoadS.. 2024. 3. 8.
03.07 (TIL) Unity에서 레이어와 태그의 역할 및 사용 방법 Unity에서 레이어와 태그는 게임 오브젝트를 분류하고 구별하는 데 사용됩니다. 이러한 분류는 오브젝트 관리, 상호작용, 검색을 용이하게 하며, 특정 기능을 적용할 대상을 선별하는 데 도움을 줍니다. 태그(Tags): 태그는 오브젝트를 간단하게 식별하기 위한 문자열 레이블입니다. 예를 들어, "Player", "Enemy", "Collectible"과 같이 오브젝트의 용도나 유형을 나타내는 태그를 지정할 수 있습니다. 스크립트 내에서 GameObject.FindGameObjectWithTag("Player")와 같은 함수를 사용하여 특정 태그를 가진 오브젝트를 찾을 수 있습니다. 레이어(Layers): 레이어는 오브젝트를 여러 그룹으로 나누어 관리하고, .. 2024. 3. 7.
03.06 (TIL) 어떤 에셋을 사용해 보셨나요? 없다면 알고 있는 에셋이 있나요? Standard Assets: 유니티에서 기본적으로 제공하는 에셋 패키지로, 카메라 컨트롤, 차량, 환경, 캐릭터 컨트롤러 등 다양한 기본 컴포넌트와 예제 씬이 포함되어 있습니다. TextMeshPro: 고품질의 텍스트 렌더링을 지원하는 에셋으로, 다양한 스타일링 옵션과 효과를 제공하여 UI의 텍스트 표현을 풍부하게 만들 수 있습니다. Cinemachine: 고급 카메라 워크와 동적 카메라 시스템을 쉽게 구현할 수 있는 강력한 에셋입니다. 카메라 추적, 블렌딩, 가상 카메라 시스템 등을 제공합니다. ProBuilder: 씬 내에서 직접 3D 모델링을 할 수 있게 해주는 에셋으로, 프로토타이핑이나 간단한 모델링 작업에 유용합니다. Asset .. 2024. 3. 7.
03.05 (TIL) 컬링(Culling) 종류와 사용 이유 컬링은 렌더링 과정에서 불필요한 오브젝트를 제외시켜 성능을 최적화하는 기법입니다. 주로 두 가지 종류의 컬링이 사용됩니다: 프러스텀 컬링(Frustum Culling): 카메라의 시야각 안에 들어오지 않는 오브젝트를 렌더링에서 제외하는 기법입니다. 카메라의 시야 프러스텀(Frustum) 밖에 위치한 오브젝트는 화면에 표시되지 않으므로, 이를 렌더링 대상에서 제외하여 성능을 향상시킵니다. 오클루전 컬링(Occlusion Culling): 다른 오브젝트에 의해 가려져 보이지 않는 오브젝트를 렌더링에서 제외하는 기법입니다. 화면에 직접적으로 보이지 않는 오브젝트는 렌더링 과정에서 제외하여, 필요한 오브젝트의 렌더링에 집중함으로써 성능을 최적화합니다. 사용 이유: 컬링 기.. 2024. 3. 5.
03.04 (TIL) 벡터 정규화(Normalization)의 이유 객체를 이동시킬 때 벡터를 정규화하는 이유는 주로 방향을 유지하면서 일정한 속도로 이동하기 위함입니다. 벡터를 정규화하면 그 길이가 1이 되는 단위 벡터(unit vector)를 얻을 수 있으며, 이 단위 벡터는 방향을 나타내는 데 사용됩니다. 정규화된 벡터에 스칼라 값을 곱하여, 해당 방향으로 일정한 속도로 이동시킬 수 있습니다. 일정한 속도 유지: 정규화된 벡터에 이동하려는 속도를 곱하면, 방향은 유지하되 정해진 속도로 이동할 수 있습니다. 이는 벡터의 길이(크기)에 관계없이 일정한 이동 속도를 보장합니다. 방향성 유지: 이동, 회전 등의 연산에서 방향성만을 고려할 필요가 있을 때, 벡터를 정규화함으로써 방향 정보만을 추출할 수 있습니다. 예를 들어, 두.. 2024. 3. 5.
02.29 (TIL) 오브젝트 풀링(Object Pooling)이란? 오브젝트 풀링은 게임 개발에서 성능 최적화 기법 중 하나로, 게임 플레이 동안 반복적으로 생성 및 파괴되는 객체들을 관리하는 방법입니다. 오브젝트 풀링은 필요한 객체들을 게임 시작 시 미리 생성하고, 풀(pool)에 저장해 두었다가 필요할 때 재사용(reuse)하는 방식입니다. 객체가 더 이상 필요 없을 때는 파괴하지 않고 풀에 반환하여 다시 사용할 수 있게 합니다. 구현 방법: 오브젝트 풀 생성: 특정 타입의 오브젝트를 저장할 수 있는 리스트나 큐를 생성합니다. 오브젝트 미리 생성 및 저장: 게임 시작 시 또는 필요에 따라 특정 수의 오브젝트를 생성하고, 이를 오브젝트 풀에 저장합니다. 오브젝트 요청 및 반환 처리: 오브젝트가 필요할 때 풀에서 오브젝트를.. 2024. 3. 5.
02.28 (TIL) 유니티 렌더링 파이프라인 유니티 렌더링 파이프라인은 게임 씬의 오브젝트를 화면에 그리는 과정을 담당합니다. 이 과정은 여러 단계로 이루어져 있으며, 각 단계에서는 다양한 렌더링 작업이 수행됩니다. 유니티에서는 다양한 렌더링 파이프라인을 제공하여, 개발자가 프로젝트의 요구사항에 맞춰 최적의 렌더링 방식을 선택할 수 있도록 합니다. 렌더링 파이프라인의 종류: 내장 렌더링 파이프라인(Built-in Rendering Pipeline): 유니티에서 기본적으로 제공하는 전통적인 렌더링 파이프라인으로, 간단한 프로젝트나 빠른 프로토타이핑에 적합합니다. 스크립터블 렌더 파이프라인(Scriptable Render Pipeline, SRP): 개발자가 렌더링 파이프라인의 동작을 세밀하게 제어할 수 있도록 설계된 렌더링 .. 2024. 2. 28.