일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 2판
- 깃허브
- 리깅
- 프로퍼티
- 리팩토링
- unity
- error
- 메모리
- 익명 타입
- 유니티
- tutorial
- Effective C#
- 사용법
- 쓰는 법
- 유니티 그래픽 최적화
- 쉐이더
- 튜토리얼
- c#
- NavMesh
- 파이널 IK
- github
- 오류
- 최적화
- 애니메이션
- 속성
- 애님
- 유니티 그래픽스 최적화 스타트업
- shader
- Final IK
- 에러
- Today
- Total
참치김밥은 최고의 한식이다
[유니티] Unity DOTS 1편 : 기본 개념 정리 본문
위 그림을 보면 World, Archetype, Chunk, Entity, Component ...의 뭔지 모르겠는 단어가 잔뜩 나옵니다.
실제로 보면 별 뜻 없습니다!!! (아마도)
제가 이해한 대로 최대한 쉽게 쓰겠습니다.
가장 작은 단위인 Component부터 살펴보ㅏ요!
Component :
각 Entity에 속한 기능.
Component는 구조체, 클래스 모두 가능합니다.
위 사진에서 볼 수 있듯이 IComponentData를 상속하여 내가 원하는 컴포넌트를 만드는 듯 합니다.
Entity :
Component를 갖는 개체. 하나의 Component를 가질 수도 있고, 여러 개의 Component를 가질 수도 있습니다.
기존 유니티 방식에 비유하자면... 게임 오브젝트 같은 단위인 것 같습니다 (저도 아직 확실하진 않음!!)
Chunk :
Chunk가 Archetype보다 작은 단위인 것은 맞지만!!!! 쉬운 이해를 위해 Archetype 과 함께 설명하겠다.
Archetype (아키타입) :
같은 Component들을 갖는 Entity끼리 묶은 그룹.
이 그림을 보면, Archetype A B C, Archetype A B, ArcheType A C 라고 되어있슴다.
즉, Archetype A B C는 Component A와 Component B, Component C를 갖는 Entity만을 묶은 그룹이고,
Archetype A B는 Component A와 Component B를 갖는 Entity만을 묶어놓은 그룹입니다.
어??? 그런데 그림에는 Chunk라고 되어있는데요?????
네!!!
Chunk는
128개의 Entity를 묶어놓은 덩어리 입니다~~!
네. 기본 정의는 이게 끝이래요.
그럼 이제 World는 뭘까요?
World :
World는 언뜻 이름만 보면 Scene처럼 느껴지지만, 아닙니다! (저만 그랬나요??)
World는 기능 분리 시 유용한 요소입니다.
예를 들어, DOTS를 채용하는 타 시스템에서는,
서버 기능에 대해 별도의 World를 생성하고, 각 클라이언트에 대해 World의 엔티티 관리자가 생성 메서드를 제공합니다.
즉, 서버에 접속한 클라이언트에게 엔티티 생성 메서드를 제공하는 기능을, 서버 전용 World에서 수행하는 것이지요!!
왜 이렇게 하냐구요??
일단, Entity가 존재하기 위해선, 제일 먼저 World가 존재해야 합니다.
그리고, 한 World 내에선 각 Entity가 고유한 ID를 가지지만, 서로 다른 World에 존재하는 Entity라면 동일한 ID를 지녀도 상관이 없습니다.
이 특징이 기능 분리에 편리해서 그런 것 아닐까요
사실 아직 실제로 써보지도 않았고, 영상을 모두 정독한 것도 아니라서 제 추측입니다..ㅎㅎ 아니라면 꼭 제게 태클을 걸어주세요.
--이어서--
출처 :
'Unity' 카테고리의 다른 글
[유니티] 애니메이터 오버라이드 컨트롤러(Animator Override Controller) 란?! (0) | 2024.02.20 |
---|---|
[유니티] 직접 공부한 CombineSkinMeshes Lite 에셋 사용 가이드 (0) | 2024.02.20 |
[유니티] Ragdoll 사용법 스크랩 (제일 이해하기 쉬웠음) (0) | 2024.01.31 |
[Unity] Http StatusCode 가 0 으로 뜰 때 해결방법 (초간단) (0) | 2024.01.17 |
[유니티] no valid user created or default window layout found문제 해결 (2) | 2024.01.02 |