entity component system3 03. Unity DOTS 00. Unity DOTSUnity DOTS는 데이터 지향적인 디자인 접근 방식을 제공하는 기술 스택이다.DOTS는 크게 ECS, Job System, Burst Compiler로 구성된다. Unity DOTS는 Data-Oriented Technology Stack의 약자로, 데이터 지향적 설계(DoD)을 지원하는 기술등을 제공한다. 이 DOTS는 크게 3가지 기술로 구성된다.- 데이터 지향적 프레임워크인 Unity ECS- 멀티스레딩 코드 작성에 도움을 주는 Job System- 더 최적화 된 코드를 컴파일할 수 있는 컴파일러 Burst Compiler 01. Unity ECSUnity ECS는 데이터 지향적 프레임워크이며, 데이터 중심 설계인 ECS Archetype를 사용한다.크게 Hybrid .. 정리노트/Entity Component System(ECS) 2024. 10. 26. 02. Sparse Set(ECS) 이 글은 해당 사이트를 참고하여 작성되었으며, 틀린 해석이나 잘못된 이해등으로 기존과 다른 혹은 틀린 정보가 적혀있을 수 있습니다. 이 점 참고 부탁드리며 정확한 정보를 얻고자 할 경우 원문을 읽는 것을 권장드립니다. 또한 구현에 있어 다양한 방식이 존재하기 때문에, 구현 방법 중 하나 정도로 참고 부탁드립니다. 1. Sparse SetSparse Set의 경우 희소 집합(Sparse array), 밀집 집합(Dense array)와 컴포넌트 집합(Component array)로 구성된다.Sparse array는 엔티티 ID에 대응되는 Index에, 해당 ID가 저장된 Dense array의 Index를 저장한다.Dense array는 엔티티의 ID(=Sparse array의 Index)를 저장하며, 빈.. 정리노트/Entity Component System(ECS) 2024. 10. 14. 01. Entity Component System (ECS) 0. OOP(Object-Oriented Programming)유니티, 언리얼등의 엔진은 기본적으로 OOP 방식을 사용한다.이는 메모리 성능에서 단점을 보이며, 많은 데이터를 관리하기 부적절하다. 객체 지향 프로그래밍(OOP)는 유니티, 언리얼 등에서 기본적으로 사용하는 방법론이다. 이는 캡슐화, 다형성이나 상속을 통한 재사용등의 여러 장점을 가지고 있지만 메모리 관리에 있어 단점을 지닌다. 다음은 유니티에서 각각 5개의 컴포넌트를 지닌, 2개의 GameObject 생성시 메모리의 모습의 예시이다. OOP의 경우 다음과 같이 인스턴스가 메모리에 분산되어 배치된다. 이로 인해 캐시 히트율이 저하하는 등의 문제점이 생기고, 이는 다양하고 많은 객체를 관리하는 등의 최적화가 중요한 게임 등에서 큰 걸림돌이 .. 정리노트/Entity Component System(ECS) 2024. 10. 6. 이전 1 다음