Unity DOTS 시스템

Inhwan98·2024년 5월 14일

https://www.youtube.com/watch?v=anoA9d2vn9A

DOTS : Data-Oriented Tech Stack

유니티

객체 지향 디자인의 문제점

  • 개발자가 의도한대로 빠르게 코드로 옮길 수 있는 장점이 있는 반면에 여러가지 단점이 있을 수도 있다.
  1. 기능이 추가 될 때마다 구조가 복잡하다.
  2. 과거 개발 히스토리를 파악해 두어야 한다.
  3. 연산처리가 객체 중점이다 : CPU 보다는 메모리를 많이 사용한다.

3번의 문제로
연산 중심의 효율적인 디자인?

잉여 자원이 많이 남는 CPU를 적극적으로 사용하여 성능을 끌어올릴 수 있는 디자인에 대해 연구하게 된다.


Data Oriented Design : DOD

  • 객체 중심이 아닌, 데이터 중심이다. 분리가 되어 있다.

DOD의 단점? 어렵다...


DOTS의 종류

  1. Sparse Set(스파스 셋)
    DOD와 같은 방식이다.

ex) 마인크래프트, 오버워치

  1. ARchetype (아키타입)
    엔티티의 조합 타입별로 묶어서 관리하는 방식
    ex)유니티, 언리얼

메이저 게임 엔진에서 주로 채용된 방식으로 동일한 조합의 형태만을 모아서 빠르게 접근할 수 있도록
관리하는 DOTS 입니다.


ECS : Entity Component System

GameObjects와 호환되는 데이터 지향

무조건 ECS가 좋은 방법인가?

CPU 연산 능력 활용도가 많이 올라가니까 기본 방식에 비해 무조건 좋은 것이 아닌가? 라고 생각할 수 있다.

  1. 성능은 좋지만 제대로 구현하기 위해 배워야할 내용이 너무 많다.
  2. 유니티 컴포넌트를 100% 사용하기에는 아직 업데이트가 좀 더 필요하다.
  3. 게임 개발 스케일, 난이도를 확인하여 OOP, DOTS 를 선택하는 것이 중요!
profile
코딩마스터

0개의 댓글