본문 바로가기
반응형

Dots12

[Unity DOTS] 공식 샘플 프로젝트 완전 분석 1편 나도 깜짝 놀랐는데 'ECS & C# Job System 샘플 프로젝트 따라잡기 #2'라는 이름의 포스트를 작성하고 벌써 1년이 넘게 지났다. 슬슬 3편을 써볼까 하고 git pull을 받았는데 너무 많이 바뀌었다. 그래서 그냥 처음부터 다시 시작한다. 기존 1,2편도 기록을 위해 남겨둔다. 2019/03/13 - [개발/Unity] - [Unity][DOTS] ECS & C# Job System, 샘플 프로젝트 따라잡기 #1 [Unity][DOTS] ECS & C# Job System, 샘플 프로젝트 따라잡기 #1 유니티의 Entity Component System & C# Job System 샘플 프로젝트를 파헤쳐보겠다. Entity Component System(이하 ECS)과 C# Job Syst.. 2020. 5. 20.
[Unity][DOTS] Unity.Mathematics 라이브러리 사용하기 DOTS의 성능 향상 효과를 최대한 끌어내기 위해서는 JobSystem + Brust 컴파일러 조합을 사용해야 한다. 그런데 이 조합 하에서는 UnityEngine.Vector3 같은 Vector 타입이나 기존 수학 API를 사용할 수 없다. Unity.Mathematics라는 새로운 수학 라이브러리를 사용해야 한다. 유니티에서 제공하는 모든 ECS 데모 프로젝트에서 이 라이브러리를 사용 중이라고 한다. 유니티 에디터의 패키지 매니저(Package Manager)에서 Mathematics를 설치(Install)하면 해당 라이브러리를 사용할 수 있다. 라이브러리를 설치한 뒤, 아래와 같이 C# using 지시문을 사용해서 라이브러리가 제공하는 타입이나 함수를 사용하면 된다. using static Unit.. 2020. 1. 28.
[Unity][DOTS] System에서 Entity 데이터에 접근하는 다양한 방법 ECS System이 데이터 즉, Component에 접근하는 다양한 방법을 정리해봤다. 여기서 System은 범용적인 의미의 시스템이 아니라 ECS의 3대 구성요소 Entity, Component, System의 그 System이다. 아래 유니티 매뉴얼 페이지를 많이 참고했다. https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/entity_iteration_job.html Using IJobForEach | Package Manager UI website Using IJobForEach You can define an IJobForEach Job in a JobComponentSystem to read and write component .. 2019. 10. 24.
[Unity][DOTS] ECS System에서 기존(Non-ECS) Component 제어하기 기존 방식으로 만든 파티클 오브젝트가 ECS로 만든 Entity를 따라다니도록 구현할 이슈가 생겼다. 당연한 이야기지만 ECS에서 'S'에 해당하는 System은 'C'에 해당하는 Component를 제어한다. 변환 API를 사용하면 기존(이하 Non-ECS) Component가 ECS Component로 자동 변환된다. 하지만 아직 변환을 지원하는 Component의 종류가 많지 않다. 직접 변환 기능을 만들면 좋겠지만 쉬운 일이 아니다. 그런데 Non-ECS Component를 ECS System에서 처리하게 만드는 방법이 있다. ECS Entity 생성 시 Non-ECS Component를 추가하고 ECS System에서 이를 불러들이는 것이다. 다만 이렇게 하면 ECS의 성능 향상 효과를 제대로 .. 2019. 9. 17.
[Unity][DOTS] 계층 구조의 GameObject를 ECS Entity로 변환하기 ECS 프레임웍은 기존 개발 방식의 GameObject를 ECS Entity로 변환해 주는 API를 제공한다. GameObjectConversionUtility 클래스의 ConvertGameObjectHierarchy()라는 이름의 메서드다. 자세한 스펙은 아래 문서에서 확인할 수 있다. https://docs.unity3d.com/Packages/com.unity.entities@0.0/api/Unity.Entities.GameObjectConversionUtility.html Class GameObjectConversionUtility | Package Manager UI website Class GameObjectConversionUtility Inheritance System.Object Game.. 2019. 8. 23.
반응형