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) 더 읽기"

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) 더 읽기"

ECS – Component concepts (2)

4. 여러 종류의 Component (5) Dynamic buffer components https://docs.unity3d.com/Packages/com.unity.entities@1.3/manual/components-buffer.html 1) Dynamic buffer 구성 요소 소개 https://docs.unity3d.com/Packages/com.unity.entities@1.3/manual/components-buffer-introducing.html Dynamic buffer components는 관리되지 않는 구조체들의 크기 조절이 가능한 배열처럼 작동하는 컴포넌트 예를 들어 Entity가 이동할 경로점(waypoint) 위치들과 같은 배열 데이터를 저장하는 데 사용할 수 있음 Dynamic buffer의 구성 요소 Dynamic buffer는 데이터와 함께 길이(Length), 용량(Capacity), 내부 포인터(pointer)를 저장

ECS – Component concepts (2) 더 읽기"

ECS – Component concepts (1)

1. Component란? https://docs.unity3d.com/Packages/com.unity.entities@1.3/manual/concepts-components.html Unity의 DOTS (Data-Oriented Technology Stack)에서 ECS(Entity Component System)의 핵심 요소 중 하나 ComponentData는 ECS에서 “데이터”를 저장하는 구조체 위의 예시에서 Speed, Direction, Position, Renderer가 Component 특징 사용 예시 2. IComponentData를 사용하여 Entity에 데이터 추가 IComponentData를 사용하려면 엔터티(Entity)에 추가해야 함 사용 예시 3. IComponentData를 읽고 수정하는 방법 ECS에서는 시스템(System)을 이용하여 데이터를 처리 사용 예시

ECS – Component concepts (1) 더 읽기"

ECS – Entity concepts

ECS – Entity concepts https://docs.unity3d.com/Packages/com.unity.entities@1.3/manual/concepts-entities.html 1. Entity란? 2. EntityManager (Entity 관리) EntityManager는 Entity를 생성, 삭제, 수정하는 다양한 메서드를 제공 메서드 설명 CreateEntity() 새로운 Entity 생성 Instantiate(Entity e) 기존 Entity를 복사하여 새로운 Entity 생성 DestroyEntity(Entity e) 특정 Entity 삭제 AddComponent<T>(Entity e) Entity에 특정 컴포넌트 추가 RemoveComponent<T>(Entity e) Entity에서 특정 컴포넌트 제거 GetComponent<T>(Entity e) Entity의 특정 컴포넌트

ECS – Entity concepts 더 읽기"

ECS – Unity Physics Stateful Event Study

StatefulTriggerEventBufferAuthoring.cs 코드 설명 이 코드는 TriggerEvent를 StatefulTriggerEvent로 변환하여 Dynamic Buffer에 저장하는 역할을 합니다. 특정 엔티티에 StatefulTriggerEventBufferAuthoring 컴포넌트를 추가하면 Trigger 이벤트의 상태(Enter, Stay, Exit)를 추적할 수 있습니다. Unity의 GameObject를 ECS(Entity-Component-System) 엔티티로 변환하는 역할 Baker 클래스에서 StatefulTriggerEvent를 저장할 Dynamic Buffer를 추가함 이를 통해 Trigger 이벤트를 저장하는 버퍼를 ECS 엔티티에 추가 가능 해당 엔티티는 StatefulTriggerEvent 버퍼를 가지게 됨.

ECS – Unity Physics Stateful Event Study 더 읽기"

위로 스크롤