본문 바로가기
반응형

개발/Unity22

[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] 콘솔 창 Error Pause 옵션 유니티 에디터에서 런타임에 데이터 로딩 중 다음 단계로 넘어가지 않는 현상이 발생했다. git pull 받고 난 후에 발생했기에 다른 팀원들도 마찬가지인지 물었는데 나에게만 나타나는 현상이었다. 변경된 파일들을 싹 revert 해야겠다고 생각했다. 그래도 안 되면 아예 clone을 다시 받는 것까지 각오했다. 마지막으로 혹시나 하는 마음에 에디터를 한번 더 들여다봤다. 읔.. Error Puase가 활성화돼 있었다. 나는 누른 기억이 없는데 아마도 고양이가 눌렀나 보다. 유니티 콘솔 창에는 여러 가지 옵션이 있는데 Error Puase는 말 그대로 런타임에 에러가 발생하면 에디터를 Pause(일시정지)시키는 옵션이다. 유니티 매뉴얼 페이지에 자세히 설명돼있다. https://docs.unity3d.com.. 2020. 3. 23.
[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.
반응형