본문 바로가기

반응형

Unity/DOTS

(23)
DOTS 학습을 위한 기초 정리 #7 시스템 상태 구성요소 SystemStateComponents SystemStateComponentData의 일반적인 목적은 시스템 내부 자원을 추적하고 개별 콜백에 의존하지 않고 필요에 따라 해당 자원을 적절히 작성하고 제거 할 수있는 기회를 제공하는 것입니다. SystemStateComponentData그리고 SystemStateSharedComponentData는 정확히 ComponentData그리고 SharedComponentData와 동일하게 동작하지만 단 중요한 한가지만 다릅니다. SystemStateComponentData 엔티티가 파기 될 때 삭제되지 않습니다. DestroyEntity는 다음을 의미합니다. 이 특정 엔티티 ID를 참조하는 모든 구성 요소를 찾으십시오. 해당 구성 요소를 삭제하십시오. 재사용을 위..
DOTS 학습을 위한 기초 정리 #6 공유된 구성 요소(Shared Component) ComponentData 공유 IComponentData는 World의 위치 저장과 같이 각 엔티티간에 달라지는 데이터에 적합합니다 . ISharedComponentData많은 엔티티가 공통점이있는 경우에 유용합니다. 예를 들어 Boid데모에서는 동일한 프리 팹 에서 많은 엔티티를 인스턴스화 하므로 RenderMesh많은 Boid엔티티 사이 가 동일합니다. #Code [System.Serializable] public struct RenderMesh : ISharedComponentData { public Mesh mesh; public Material material; public ShadowCastingMode castShadows; public bool receiveShadows; } #Code/ ..
DOTS 학습을 위한 기초 정리 #5 일반 구성 요소 ComponentData Unity의 ComponentData (acomponentin 표준 ECS 용어라고도 함)는 엔티티에 대한 인스턴스 데이터 만 포함하는 구조체입니다 . ComponentData는 메소드를 포함 할 수 없습니다. 이것을 이전 유니티 시스템의 측면에서 표현하자면, 이는 이전 컴포넌트 클래스와 비슷하지만 변수 만 포함하고 있습니다 . Unity ECS는 IComponentData코드에서 구현할 수 있는 인터페이스를 제공합니다 . IComponentData 전통적인 Unity 구성 요소 (포함 MonoBehaviour)는 동작을위한 데이터 및 메서드를 포함하는 객체 지향 클래스입니다. IComponentData순수한 ECS 스타일의 구성 요소입니다. 즉, 동작 만 정의하고 데이터 만 정..
DOTS 학습을 위한 기초 정리 #4 구성 요소(Component) 참고 문헌 : https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/ecs_components.html Component 구성 요소(Component)는 Entity Component System 아키텍처의 세 가지 주요 요소 중 하나로 게임이나 프로그램의 데이터를 나타냅니다. 엔티티(Entity) 는 본질적으로 구성 요소 컬렉션을 색인화하는 식별자이며, 시스템(System) 이 동작을 제공합니다. 구체적으로 ECS의 구성 요소는 다음 마커 인터페이스 중 하나가있는 구조체입니다. IComponentData ISharedComponentData ISystemStateComponentData ISharedSystemStateComponentData..
DOTS 학습을 위한 기초 정리 #3 World 원본 : https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/world.html World | Package Manager UI website World A World owns both an EntityManager and a set of ComponentSystems. You can create as many World objects as you like. Commonly you would create a simulation World and rendering or presentation World. By default we create a single World when entering Pl docs.unity3d.com World Ent..
DOTS 학습을 위한 기초 정리 #2 엔티티란, 원본 : https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/ecs_entities.html Entities | Package Manager UI website Entities Entities are one of the three principle elements of a docs.unity3d.com 엔티티(Entity) 엔티티 구성 요소 시스템(Entity Component System) 아키텍처의 세 가지 주요 요소 중 하나로 게임이나 프로그램에서 '사물'을 나타냅니다. 행동(기능)이나 데이터를 가지고 있지는 않지만, 어떤 데이터가 함께 속하는지 식별하는 용도로 사용됩니다. 시스템(System)은 행동(기능)을 제공하며, 구성 요소(Co..
DOTS 학습을 위한 기초정리 #1 간단한 정의 ECS 학습 1. Unity Data Oriented Tech Stack - (데이터 지향 기술 스택) DOTS는 유니티에서 멀티 스레딩 및 멀티 프로세서에서 개발자로 하여금 발생할 수 있는 문제를 해소하고 해당 기능을 제공하기 위해 만들어 졌다. 2. DOTS에 포함된 시스템 - ECS (Entity Component System) : 기본적인 성능을 더욱 향상한 코드 작성 법을 개발자에게 제공한다. - C# Job System : 멀티 코어 시스템으로 여러개의 CPU 코어를 병렬 처리하는 코드를 제공한다. - Burst Compiler : 최적화 된 기계어 생성을 위한 수학 기법 최적화 등의 방법을 갖고있는 백엔드 컴파일러 3. ECS - ECS(Entity Component System)는 게임 디..

반응형