본문 바로가기
반응형

Dots12

[Unity][DOTS] World와 ComponentSystemGroup 기본적으로 System은 클래스 코드만 작성하면 ECS가 알아서 인스턴스를 생성하고, World에 추가하고, 매 프레임에 업데이트까지 시켜준다. 그런데 프로젝트 진행 중 System을 앱 실행 시점이 아닌 특정 시점에 생성 및 업데이트시켜야 하는 상황이 생겼다. 즉, 앞에서 언급한 프로세스를 수동으로 해야 한다는 뜻이다. 자료를 찾다 보니 Unity 홈페이지 매뉴얼보다 잘 쓴 블로그 포스트(https://gametorrahod.com/world-system-groups-update-order-and-the-player-loop/)를 발견했다. 포스트 앞부분에 내가 원하는 내용이 모두 들어있어서 그대로 번역해봤다. ECS를 이미 사용해봤다면 "default world"라는 말을 들어본 적이 있을 것이다. .. 2019. 7. 12.
[Unity][DOTS] Component WriteGroups 요 며칠, 기존 프리팹을 ECS Entity로 변환하는 작업을 하고 있다. 단순히 변환 API를 호출하면 끝날 줄 알았는데 그렇지 않았다. 변환하고자 하는 프리팹의 계층 구조가 복잡해서 오브젝트 간 렌더링 순서에 문제가 생긴 것이다. ECS TransformSystem을 제대로 이해해야 해결할 수 있을 것 같은 생각이 들어 아래 문서를 읽기 시작했다. https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/transform_system.html TransformSystem | Package Manager UI website TransformSystem Section 1: Non-hierarchical Transforms (Basic) LocalT.. 2019. 7. 5.
[Unity][DOTS] ECS & C# Job System, 샘플 프로젝트 따라잡기 #2 샘플 프로젝트는 https://github.com/Unity-Technologies/EntityComponentSystemSamples 에서 받아볼 수 있다. 샘플 프로젝트의 예제는 총 일곱 개다. HelloECS 폴더에 여섯 개, Advanecd 폴더 아래 한 개가 들어있다. HelloECS 여섯 개 예제 중 첫 번째 예제인 HelloCube_01_ForEach 씬(scene)를 파헤쳐 보겠다. Project 뷰를 보면 아래 그림과 같이 HelloCube_01_ForEach 폴더 안에 씬, README 문서, 세 개의 C# 스크립트가 들어있다. README 파일의 내용만으로 이 예제의 전체 구조와 동작을 파악할 수 있다. ECS의 각 요소인 Entity, Component, System은 번역하지 않고.. 2019. 3. 29.
[Unity][DOTS] Entity Debugger 사용 방법 ECS를 사용하면 유니티 에디터의 Game View나 Hierarchy 창에서 Entity를 볼 수 없다. 기존에 유니티 에디터에서 GameObject를 만들고 눈으로 정보를 확인하면서 작업하던 사람에게는 너무나 당황스러운 상황이다. 100% 만족스럽지는 않지만 Entity Debugger 창에서 Entity를 볼 수 있다. 유니티 에디터의 Window 메뉴에서 Entity Debugger를 찾아서 열면 다음 그림과 같은 화면이 뜬다. 참고로 유니티에서 제공한 Boid 샘플 프로젝트를 사용했다. 왼쪽의 System 탭은 게임에서 실행 중인 모든 System 리스트를 보여준다. 리스트는 알파벳 순 정렬이 아닌 Player Loop 순 정렬이라고 한다. 각 System은 on/off 체크박스로 껐다 켰다 하.. 2019. 3. 27.
[Unity][DOTS] ECS의 핵심, Archetype과 Chunk 유니티에서 밀고 있는 개발 패러다임인 DOTS는 Data-Oriented Tech Stack의 약자다. DOTS는 C# Job System, Entity Component System(ECS), Burst Compiler로 이뤄져 있다. ECS는 이름 그대로 Entity, Component, System을 모아 놓은 것이다. DOTS의 핵심은 데이터인데 ECS의 세 요소 중 Component가 바로 데이터다. 나머지 두 요소도 간단히 살펴보겠다. Entity는 여러 종류의 Component 묶음을 가리키고 있을 뿐이다. System은 Component의 값을 바꾸거나 Component를 이용해서 프로그램의 로직을 수행하는 일을 한다. Archetype과 Chunk는 ECS가 Component를 저장하고 .. 2019. 3. 26.
반응형