Unity Serialization (직렬화)

🔥 Serialization (직렬화) 개요 Serialization이란 객체 데이터를 바이트 스트림으로 변환하여 저장하거나 전송할 수 있도록 하는 과정 주 목적은 필요할 때 다시 개체로 만들 수 있도록 개체의 상태를 저장하는 것 반대로 Deserialization은 저장된 바이트 데이터를 다시 객체로 변환하는 과정입니다. 🔥 JSON, XML, YAML 일반적으로 많이 사용하는 데이터 직렬화 포맷들 1️⃣ JSON (JavaScript Object Notation) ✔️ 특징 […]

Unity Serialization (직렬화) 더 읽기"

URP VFX Learning Templates (2)

URP_VFX_Learning_Templates (2) 11. TexIndex Attribute VFX 아티스트들은 스프라이트 시트(Sprite Sheet) 를 자주 사용합니다. 이 VFX 예제는 출력(Output) 에서 UV 옵션 을 사용하여 스프라이트 시트 를 활용하는 방법을 보여줍니다. 또한 Flipbook 설정 을 구성하는 방법과 texIndex 속성 과의 관계를 설명합니다. Covered Aspects: 12. Flipbook Mode 이 VFX는 Output(출력)의 UV 모드를 Flipbook으로 설정하여 스프라이트 시트를 사용하는 방법을

URP VFX Learning Templates (2) 더 읽기"

ECS의 World와 SubScene의 관계

⭐ 개념 정리 ✅ World ECS에서 World는 Entity와 System 등을 관리하는 Container 역할 World는 특정 씬(Scene)에 종속되지 않고, 모든 ECS 데이터를 포함하여 관리한다. World가 관리하는 핵심 구성 요소 4가지 ✅ SubScene SubScene은 씬(Scene) 내부에서 특정 ECS 데이터(Entity)를 포함하는 컨테이너 역할을 한다. SubScene이 로드되면, 그 안의 GameObject들이 자동으로 Entity로 변환(Entity Conversion)되어 World에 등록 ➡️ SubScene의 로드

ECS의 World와 SubScene의 관계 더 읽기"

URP VFX Learning Templates (1)

URP_VFX_Learning_Templates https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@17.0/manual/index.html 1. Context&Flow 컨텍스트 및 데이터 흐름 VFX Graph에서 데이터 흐름이 어떻게 구성되는지 설명하고, 자주 사용되는 컨텍스트 블록을 개요로 제공 Covered Aspects: 2. Spawn Context 이 VFX는 스폰 컨텍스트(Spawn Context) 와 관련된 정보를 제공하기 위한 것입니다. 스폰 컨텍스트란 무엇이며, Inspector에서 어떤 옵션을 설정할 수 있는지, 그리고 추가적으로 다음과 같은 정보를 포함합니다: Covered Aspects: •

URP VFX Learning Templates (1) 더 읽기"

C#의 CancellationToken, CancellationTokenSource

🔥 CancellationToken, CancellationTokenSource ✅ 개념 정리 CancellationToken과 CancellationTokenSource는 C#에서 비동기 작업(Task)이나 스레드를 안전하게 취소할 수 있도록 제공되는 기능합니다. 이를 활용하면 비동기 작업을 중단하거나, 긴 루프를 중지할 수 있도록 관리할 수 있습니다. 🔹 CancellationTokenSource 🔹 CancellationToken ✅ 기본적인 사용법 🔹 CancellationToken 사용 예제 🔍 설명 ✅ 알아두면 유용한 기능 🔹 ThrowIfCancellationRequested() 이전의 예제에서는 IsCancellationRequested로 확인 후

C#의 CancellationToken, CancellationTokenSource 더 읽기"

ECS – EntityQuery 정리

EntityQuery 정리 ECS(Entity Component System)에서 특정 조건을 만족하는 Entity들을 효율적으로 검색하는 도구 Entity가 가진 컴포넌트 조합을 기준으로 검색하며, 이를 통해 메모리 캐시 효율을 극대화 1. EntityQuery의 기본 개념 – 특정 컴포넌트를 가진 Entity 찾기 2. EntityQuery의 주요 조건 조건 설명 WithAll<T>() 해당 컴포넌트를 모두 가진 Entity만 검색 WithAny<T>() 지정한 컴포넌트 중 하나라도 가진 Entity 검색

ECS – EntityQuery 정리 더 읽기"

ECS – MouseHoverAuthoring

1. MouseHover (IComponentData) 2. MouseHoverBaker (Baker) 3. MouseHoverSystem (SystemBase) 1) InitializationSystemGroup 초기화 단계에서 실행됨 2) WorldRaycastJob (IJob) 마우스 위치에서 Raycast를 실행하는 IJob 3) OnUpdate() 1> CollisionWorld 가져오기 2> 마우스 위치에서 레이(Ray) 생성 3> RaycastInput 설정 RaycastInput은 Unity Physics에서 사용되는 구조체로, 물리 엔진이 사용할 레이캐스트 정보를 포함 4> MouseHover 컴포넌트 가져오기 5> 레이캐스트 실행 NativeReference<RaycastHit>을 사용하여

ECS – MouseHoverAuthoring 더 읽기"

ECS – BufferTypeHandle

ECS – BufferTypeHandle ECS에서 DynamicBuffer<T>를 처리하려면 BufferTypeHandle<T>를 사용해야 한다. 즉, “IComponentData가 아닌 버퍼 데이터를 읽고/쓰는 Handle“ 1. BufferTypeHandle<T>란? 2. 사용 예제 1) OnCreate()에서 초기화 2) OnUpdate()에서 매 프레임 업데이트 3. BufferTypeHandle 상세 사용법 1) 기본 사용법 (IJobChunk에서 사용) 2) OnUpdate()에서 ScheduleParallel 실행 3) IJobParallelFor에서 BufferTypeHandle를 사용할 때 일반적으로 IJobParallelFor에서는 직접 사용할 수 없고, AsNativeArray() 를

ECS – BufferTypeHandle 더 읽기"

ECS – System concepts

ECS – System concepts https://docs.unity3d.com/Packages/com.unity.entities@1.3/manual/concepts-systems.html System concepts System의 역할 System의 유형 시스템 유형 설명 SystemBase C# 클래스 기반, 관리형 시스템 (GC 영향 있음) ISystem 구조체 기반, 비관리형 시스템 (성능 최적화) EntityCommandBufferSystem Entity 생성/삭제 등의 구조적 변경을 최적화하는 시스템 ComponentSystemGroup 여러 시스템을 그룹화하여 실행 순서 제어 System 실행 순서 (System Groups) 시스템 그룹 설명 InitializationSystemGroup 초기화

ECS – System concepts 더 읽기"

ECS – Component concepts (3)

4. 여러 종류의 Component (6) Chunk components https://docs.unity3d.com/Packages/com.unity.entities@1.3/manual/components-chunk.html Chunk Component는 개별 엔터티(Entity)가 아닌 Chunk 단위로 데이터를 저장하는 컴포넌트 즉, Chunk 전체에 대한 공통 데이터를 저장하는 데 사용됨 1) Chunk Component의 주요 특징 https://docs.unity3d.com/Packages/com.unity.entities@1.3/manual/components-chunk-introducing.html 2) Shared Component와 차이점 특징 Shared Component Chunk Component 저장 위치 Chunk 내의 모든 Entity가 같은 값을 공유 Chunk 자체에 값이 저장됨

ECS – Component concepts (3) 더 읽기"

위로 스크롤