Unity Serialization (직렬화)

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

Unity Serialization (직렬화) 더 읽기"

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의 관계 더 읽기"

C#의 CancellationToken, CancellationTokenSource

🔥 CancellationToken, CancellationTokenSource https://learn.microsoft.com/ko-kr/dotnet/api/system.threading.cancellationtokensource?view=net-9.0 ✅ 개념 정리 CancellationToken과 CancellationTokenSource는 C#에서 비동기 작업(Task)이나 스레드를 안전하게 취소할 수 있도록 제공되는 기능합니다. 이를 활용하면 비동기 작업을 중단하거나, 긴 루프를 중지할 수 있도록 관리할 수 있습니다. 🔹 CancellationTokenSource 🔹 CancellationToken 역할 설명 CancellationTokenSource 취소 요청을 보내는 쪽 (발신자) 역할을 합니다. Cancel(), CancelAfter(), Dispose() 등을 호출 할 수 있습니다. CancellationToken

C#의 CancellationToken, CancellationTokenSource 더 읽기"

백준 9935번 (문자열 폭발, C++) [BAEKJOON]

문자열 폭발 https://www.acmicpc.net/problem/9935 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 (추가 시간 없음) 128 MB 97727 27262 19242 27.023% 문제 상근이는 문자열에 폭발 문자열을 심어 놓았다. 폭발 문자열이 폭발하면 그 문자는 문자열에서 사라지며, 남은 문자열은 합쳐지게 된다. 폭발은 다음과 같은 과정으로 진행된다. 상근이는 모든 폭발이 끝난 후에 어떤 문자열이 남는지

백준 9935번 (문자열 폭발, C++) [BAEKJOON] 더 읽기"

백준 11444번 (피보나치 수 6, C++) [BAEKJOON]

피보나치 수 6 https://www.acmicpc.net/problem/11444 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 256 MB 27890 12508 10367 47.603% 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

백준 11444번 (피보나치 수 6, C++) [BAEKJOON] 더 읽기"

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

위로 스크롤