본문 바로가기

반응형

Unity

(56)
DOTS 학습을 위한 기초 정리 #9 Systems Systems ECS의 S 시스템에서는 구성 요소 데이터를 현재 상태에서 다음 상태로 변환하는 논리를 제공합니다. 예를 들어, 시스템은 이전 프레임 이후의 속도 간격에 따라 모든 움직이는 도면요소의 위치를 업데이트 할 수 있습니다.
DOTS 학습을 위한 기초 정리 #8 동적 버퍼 참고 문헌 : https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/dynamic_buffers.html Dynamic Buffers DynamicBuffer는 가변 크기의 "stretchy(확장)"버퍼가 엔티티와 연관 될 수있게 하는 일종의 구성 요소 데이터입니다. 특정 수의 요소를 포함하는 구성요소 유형으로 작동하지만 내부 용량이 모두 소모되면 힙 메모리 블록을 할당 할 수 있습니다. 이 접근법을 사용할 때 메모리 관리는 완전 자동입니다.DynamicBuffer와 연관된 메모리는 구성 요소가 제거 될 때 연관된 힙 메모리도 자동으로 해제 되도록 EntityManager에 의해 관리됩니다. DynamicBuffers는 제거 된 고정 배열 지원..
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..

반응형