728x90
SMALL

Unity 12

GLTF 패키지

Unity에서 전통적으로 Unity를 포함한 대부분의 게임 엔진에서 3D 모델을 사용할 때 가장 흔하고 폭넓게 사용되는 형식은 FBX와 OBJ의 형식으로 사용하고 있다. 3D 모델 파일 형식 비교 FBX (Filmbox)OBJ (Wavefront OBJ)GLB/glTF (GL Transmission Format)파일 구조바이너리 또는 ASCIIASCII (텍스트 기반)GLB: 바이너리 (단일 파일) / glTF: JSON + 바이너리 + 텍스처 (다중 파일)메인 용도전문 제작 및 파이프라인 교환 (애니메이션이 있는 복잡한 씬)단순 기하학 교환 (가장 보편적인 기본 메시)웹/런타임 효율적 전송 (가볍고 빠른 로딩)애니메이션/리깅✅ 완벽 지원 (업계 표준)❌ 지원 불가 (오직 메시만)✅ 완벽 지원 (씬 ..

Unity 2025.10.06

어드레서블 (Addressables)

유니티의 어드레서블(Adressables) 시스템은 Unity에서 에셋(Asset)을 효율적으로 관리하고 로드할 수 있도록 도와주는 시스템이다. 특히 런타임 에셋 로딩, 에셋 번들링, 메모리 관리, 업데이트 배포 등에서 강력한 기능을 제공한다. 유니티 공식 문서 https://docs.unity3d.com/Packages/com.unity.addressables@2.5/manual/index.html 어드레서블(Addressables) 개요Addressable Asset System은 Unity의 에셋 번들(AssetBundle)을 기반으로 만들어졌으며, 특정 에셋에 주소(Address)를 부여하고 그 주소를 통해 런타임에서 해당 에셋을 로드할 수 있게 해준다. 어드레서블의 장점✅ 메모리 관리 – 필..

Unity 2025.06.13

비동기 프로그래밍 (UniTask)

우선 Task와 UniTask는 비동기 처리를 위한 도구이다. UniTask란?Unity에서 비동기 프로그래밍을 더욱 효율적이고 가볍게 할 수 있도록 도와주는 비동기/await 지원 라이브러리이다. Unity에서 기본적으로 제공하는 async/await는 .NET Task를 기반으로 작동하는데, 이 Task는 GC(가비지 컬렉션) 비용이 높고, Unity와 완전히 호환되지 않는 문제들이 있다. UniTask는 이런 문제를 해결하기 위한 경량 대안이다. UniTask의 특징1. GC 비용이 거의 없음Task는 참조 타입이기 힙에 할당되어 매번 생성 시 GC가 발생하지만, UniTask는 값 타입(struct)으로 설계되어 스택에 할당되므로 대부분의 경우 GC를 발생시키지 않는다.UniTask는 내부적으로 ..

Unity 2025.05.20

비동기 프로그래밍 (Coroutine, async ,await)

동기식 - 작업의 처리 순서에 따라 순차적으로 처리하는 방식유니티는 일반적으로 동기식 작업 방식을 채택하여 프로젝트를 실행한다.동기식 작업방식은 코드를 구현하기가 쉽고 실행 순서를 빠르게 파악할 수 있다. 그러나 하나의 함수에서 엄청난 자원과 시간을 소모한다면 프로그램에 치명적일 수 있다. 그문제를 해결하기 위해 비동기식으로 코드를 구성한다. 비동기식 - 하나 또는 여러개의 스레드를 나누어 여러 작업을 동시에 실행하는 방식 비동기식 작업은 구현이 복잡하며, 구조를 정확하게 파악하지 않고 구현할 시에는 무한 루프, 무한 대기 상태에 빠지는 경우도 있기에 조심하여 구현해야한다. 비동기 프로그래밍이란? 유니티에서 비동기 프로그래밍은 주로 Coroutine과 async/await 키워드를 통해 구현되며, 주..

Unity 2025.05.07

[Unity] - Text Mesh Pro (다국어화)

지난 시간에 TMP Text 를 사용할 때 폰트를 다운받아서 사용했다. 그런데 일본어와 다른 언어에서는 해당 폰트를 사용했을 때 글자가 깨지고 있다.  아래는 일본어를 적용했을 때 모습   해결 방법 Unity에서 다국어 지원을 위해 일본어를 추가하려면 일반적으로 일본어를 지원하는 폰트를 사용해야 한다. 현재 메인 폰트로 MapleStroy Font를 사용하고 있다면, 이 폰트가 일본어 문자를 지원하지 않을 가능성이 높다. 따라서 일본어를 표시하기 위해 Noto Sans JP와 같은 일본어를 지원하는 폰트를 추가하는 것이 좋다. 구현 방법 1. Noto Sans JP 폰트 다운로드:Google Fonts 웹사이트에 접속하여 Noto Sans JP 폰트 패밀리를 다운로드2. 유니티 프로젝트에 폰트 임포트:..

Unity 2025.03.25

Json이란? - Unity JsonUtility

지난 시간에 Json의 기본정의와 NewTonSoft Json을 통해 데이터를 저장하고 불러오는 과정을 했다. 그런데 NewTonSoft Json은 모노비헤이비어를 상속받는 클래스의 오브젝트를 Json 데이터로 직렬화(시리얼라이즈) 할 수 없다.MonoBehaviour는 Unity 엔진 내부에서 관리하는 특별한 클래스라서 직렬화가 지원되지 않음.Unity의 GameObject, Transform, Component 등도 직렬화 대상이 될 수 없음. 스크립트가 가지고 있는 프로퍼티 중에서 필요한 프로퍼티를 클래스로 묶어서 해당 클래스만 시리얼 라이즈 하거나 Unity JsonUtility를 사용해야 한다.  ✅ Unity JsonUtility유니티 엔진에서 제공하는 가벼운 JSON 변환 기능.MonoBeh..

Unity 2025.03.12

Json이란? - NewTonSoft Json

유니티에서 JSON이란?JSON(JavaScript Object Notation)은 데이터를 쉽게 저장하고 전송할 수 있도록 설계된 경량 데이터 형식이다.쉽게 말하면 서버와 클라이언트 사이에 데이터를 주고받을지에 대한 방법이다.유니티에서는 객체 데이터를 JSON 형식으로 변환하여 파일로 저장하거나, 네트워크 통신 시 데이터를 주고받는 데 사용할 수 있다.JSON은 { "key": value } 형태의 키-값 쌍으로 이루어져 있으며, 리스트나 중첩된 객체 구조도 표현할 수 있다. 비슷한 예XML - Json에 비해 가독성이 떨어지고 데이터를 넣거나 꺼내기 위해 파싱하는 과정이 까다롭다.SCV - 표 형식의 데이터 형식이라 편하지만, 고차원(표안에 표를 넣는 형식)에선 불편하다. JSON의 특징가볍고 직관적..

Unity 2025.03.10

[Unity] - PlayerPrefs란?

PlayerPrefs는 간단한 데이터를 저장하고 불러오는 기능을 제공하는 클래스이다. 주로 게임의 설정, 사용자 선호도, 간단한 진행 상태 등을 저장하는 데 사용된다. PlayerPrefs는 키-값(key-value) 쌍으로 데이터를 저장하며, 이 데이터는 플레이어의 기기에 영구적으로 저장된다. 1. PlayerPrefs 주요 특징로컬 저장PlayerPrefs는 운영체제의 레지스트리(Windows), plist(macOS, iOS), SharedPreferences(Android) 등에 데이터를 저장한다.문자열, 정수, 실수 값만 저장 가능string, int, float 타입만 저장할 수 있다.배열이나 Vector3, bool 등의 데이터는 직접 저장할 수 없으며, 문자열 변환(Serialize) 후 ..

Unity 2025.03.04

[UI] - Cnavas Render Mode

Canvas를 생성하면 Canvs Render Mode 가 있다. 3가지 종류가 있다. 1. Screen Space - Overlay설명: 이 모드는 UI가 화면 위에 직접 렌더링됩니다. UI 요소는 카메라의 위치나 방향에 영향을 받지 않고, 화면의 픽셀 단위로 위치가 고정된다.특징:고정 위치: UI는 화면의 픽셀 좌표를 기준으로 위치가 고정되어 있어, 화면 크기가 변경되더라도 상대적인 위치가 유지된다.Z-Order 사용: UI 요소의 순서는 Hierarchy 내에서 순서에 따라 결정되며, 깊이(Z축)와 상관없이 겹쳐진 순서대로 렌더링된다.카메라 무관: 카메라의 위치나 회전과 상관없이 UI가 항상 정면에서 보인다.활용 예시: 게임 내에서 고정된 HUD 요소, 스코어, 미니맵, 체력 표시 등 2. Scre..

Unity 2025.02.04

[Unity] - Text Mesh Pro

Unity에서 지원하는 기본 Text Componet는 시각적 품질이 좋지 않다. 그렇기에 Text Mesh Pro 를 사용해보자.  Text Mesh Pro를 사용하면 뭐가 좋을까?  고급 텍스트 렌더링: Text Mesh Pro는 고해상도 텍스트 렌더링을 제공하여 텍스트의 선명도와 품질을 높인다. 이는 특히 다양한 크기에서 텍스트를 읽기 쉽게 만든다. 텍스트 스타일링 기능: Text Mesh Pro는 다양한 텍스트 스타일링 옵션을 제공한다. 글꼴, 굵기, 기울임, 그림자, 윤곽선 등의 스타일을 쉽게 적용할 수 있다.텍스트 레이아웃 제어: Text Mesh Pro는 텍스트 정렬, 여백, 자간, 행간 등을 세부적으로 조절할 수 있는 기능을 제공한다. 이를 통해 텍스트 레이아웃을 정확하게 맞출 수 있다.다..

Unity 2024.07.20
728x90