게임엔진/DOTS 13

유니티/DOTS2D Sprite Animation (1) - 핵심 구현 아이디어

2023.03.19 - [유니티/DOTS] - 2D Sprite Animation (0) - 레퍼런스 조사 2D Sprite Animation (0) - 레퍼런스 조사 DOTS로 3D 애니메이션의 구현은 레퍼런스가 꽤 많다. 에셋스토어만 봐도 꽤 완성된 패키지를 팔기도 함... 반면 2D 애니메이션쪽은 쫌 레퍼런스가 적다. 그나마 있는애들도 Entites 1.0 적용 이전이라 tsyang.tistory.com 공통 이전 레퍼런스에서 크게 두 가지를 조사했는데, https://youtu.be/t1f8ZreCuuQ https://forum.unity.com/threads/1-million-animated-sprites-at-60-fps.811116/ 1 MILLION animated sprites at 60..

게임엔진/DOTS 2023.04.02

2D Sprite Animation (0) - 레퍼런스 조사

DOTS로 3D 애니메이션의 구현은 레퍼런스가 꽤 많다. 에셋스토어만 봐도 꽤 완성된 패키지를 팔기도 함... 반면 2D 애니메이션쪽은 쫌 레퍼런스가 적다. 그나마 있는애들도 Entites 1.0 적용 이전이라 내가 고쳐서 써야한다. 우선 초반 레퍼런스로 보기 좋은 게 있다. 유튜버 Code Monkey의 Unity ECS 애니메이션 관련 영상 https://www.youtube.com/watch?v=tvi44I_SK3w 대충 아래와 같은 Graphics.DrawMesh를 통해 Sprite를 그려준다. 메테리얼은 아래와 같이 4개의 이미지로 구성된 Sheet이고 ... 위 코드와 같이 UV좌표로 잘라서 한 프레임씩 보여주는게 핵심 원리이다. 결국 애니메이션 정보도 별도 컴포넌트로 분리한 다음 몇 프레임에..

게임엔진/DOTS 2023.03.19

Unity.Physics에 가속도와 힘 구현해보기 - 2

2023.02.18 - [유니티/DOTS] - Unity.Physics에 가속도와 힘 구현해보기 - 1 Unity.Physics에 가속도와 힘 구현해보기 - 1 2023.02.10 - [유니티/DOTS] - Physics 1.0 써보기 주의 : 개인적으로 시행착오 겪으며 구현해 보는 것이니 신뢰 ㄴㄴ , 주절거리는 글임 개요 Unity.Physics에서는 속도에 따른 Transform 계산과 각종 충돌 계산 tsyang.tistory.com 오류 수정 이전 글에서 내가 구현한 가속도로 중력을 만들었을 때 유니티 physics의 중력보다 더 빠르게 움직이는 현상이 있었다. 처음엔 시스템 업데이트 순서가 잘못됐거나 버그로 여겼는데 아니었다. SystemAPI.Time.fixedDeltaTime이 당~연히 P..

게임엔진/DOTS 2023.03.12

ECS - RequireForUpdate / Dependency

2023.02.25 - [유니티/DOTS] - Entities - 컴포넌트 구조 RequireMatchingQueriesForUpdate Entites에는 RequireMatchingQueriesForUpdate 라는 어트리뷰트가 존재한다. 이걸 시스템에 달아주고, ISystem이나 SystemBase를 상속한 class/struct의 OnCreate에 위 두 가지 메서드를 호출해주면 해당 시스템은 매칭되는 Entity가 있을 경우에만 업데이트 된다. 위와 같은 방식으로 쓴다. Dependency Entities 샘플 코드를 보다 보면 위와 같이 dependency 설정을 해주는 코드들이 많다. SystemState는 현재 월드의 상태가 전달된다고 보면 된다. 여기서 state.Dependency는 현재..

게임엔진/DOTS 2023.03.05

Entities - 컴포넌트 구조

2021.09.26 - [이론/설계] - ECS (Entity Component System) ECS (Entity Component System) ECS 정의 "A different paradigm of writing code, where we model our programs in a data oriented way" 유니티 ECS 메뉴얼에서는 ECS를 위와 같이 정의했다. 데이터 지향 설계방식은 아래 글을 참고. https://tsyang.tistory.com/68 D tsyang.tistory.com 2023.02.04 - [유니티/DOTS] - DOTS 1.0 - 2 (생성, MonoBehavour 연계) DOTS 1.0 - 2 (생성, MonoBehavour 연계) 2023.01.29 - [유..

게임엔진/DOTS 2023.02.25

Unity.Physics에 가속도와 힘 구현해보기 - 1

2023.02.10 - [유니티/DOTS] - Physics 1.0 써보기 주의 : 개인적으로 시행착오 겪으며 구현해 보는 것이니 신뢰 ㄴㄴ , 주절거리는 글임 개요 Unity.Physics에서는 속도에 따른 Transform 계산과 각종 충돌 계산등을 해준다. 여기에 가속도나 힘의 개념은 없기 때문에 내가 구현해줘야 한다. 가속도 컴포넌트 가속도는 무슨 일을 하는가? 오직 물체의 속도만을 변경시키는 데 사용된다. 그런데 여기서 시간의 개념을 고려해야 한다. 엔티티의 가속도 지속시간은 어떻게 관리해줄 것인가? 엔티티 마다 (가속도 벡터, 지속시간) 형태의 리스트를 들고 있고, 이를 이용해 최종 가속도를 계산 후 1프레임 업데이트. 지속시간은 1프레임만큼 차감. 엔티티는 가신이 받는 가속도의 지속시간을 모..

게임엔진/DOTS 2023.02.18

Physics 1.0 써보기

2023.02.04 - [유니티/DOTS] - DOTS 1.0 - 2 (생성, MonoBehavour 연계) DOTS 1.0 - 2 (생성, MonoBehavour 연계) 2023.01.29 - [유니티/DOTS] - DOTS 1.0 - 기본 (Component,System,Aspect,Job) DOTS 1.0 - 기본 (Component,System,Aspect,Job) 2023.01.01 - [유니티/DOTS] - DOTS 1.0 나온 기념 세팅법 DOTS 1.0 나온 기념 세팅법 ECS 1.0 pre-release 버전이 tsyang.tistory.com 세팅하기 저거 누르고 아래 이름 침 com.unity.physics Entities먼저 까는 걸 잊지 말도록 물리 시뮬레이션의 순서 물리 시스템이..

게임엔진/DOTS 2023.02.10

DOTS 1.0 - 2 (생성, MonoBehavour 연계)

2023.01.29 - [유니티/DOTS] - DOTS 1.0 - 기본 (Component,System,Aspect,Job) DOTS 1.0 - 기본 (Component,System,Aspect,Job) 2023.01.01 - [유니티/DOTS] - DOTS 1.0 나온 기념 세팅법 DOTS 1.0 나온 기념 세팅법 ECS 1.0 pre-release 버전이 나왔다. 설치해보자 우선 유니티 2022.2.0b 이상을 깔아야 한다. IDE도 최신으로 바꿔야 함. 아래 링 tsyang.tistory.com Webp사용 이번에는 ECS에서 Entity를 생성해보고, 기존 MonoBehvaiour코드에서 Entity의 데이터에 접근하도록 하는 걸 해보자. ECS Instantiate 우선 Spawner 역할을 할..

게임엔진/DOTS 2023.02.04

DOTS 1.0 - 기본 (Component,System,Aspect,Job)

2023.01.01 - [유니티/DOTS] - DOTS 1.0 나온 기념 세팅법 DOTS 1.0 나온 기념 세팅법 ECS 1.0 pre-release 버전이 나왔다. 설치해보자 우선 유니티 2022.2.0b 이상을 깔아야 한다. IDE도 최신으로 바꿔야 함. 아래 링크 참고 (https://docs.unity3d.com/Packages/com.unity.entities@1.0/manual/getting-started-install tsyang.tistory.com 주의! webp 씀 개요 Entities 1.0 버전이 나오면서 이전의 방식과 크게 바뀌었다. 그래도 전반적인 컨셉은 똑같다. 이 글에서는 오브젝트를 하나 만들어서 ECS로 움직여 보는 것을 목표로 한다. 그 과정에서 Entity Compone..

게임엔진/DOTS 2023.01.29

DOTS 1.0 나온 기념 세팅법

ECS 1.0 pre-release 버전이 나왔다. 설치해보자 우선 유니티 2022.2.0b 이상을 깔아야 한다. IDE도 최신으로 바꿔야 함. 아래 링크 참고 (https://docs.unity3d.com/Packages/com.unity.entities@1.0/manual/getting-started-installation.html) 그다음 여기 들어가서 다음 두 패키지를 깔아주자. com.unity.entities com.unity.entities.graphics 그다음에는 렌더링 파이프라인이 맞는지 확인해봐야 한다. ECS는 빌트인은 지원 안 하고 URP나 HDRP만 지원한다. 만약 프로젝트 만들 때 이거 골랐으면 추가로 설치할 필요는 없다. 안했다면 PackageManager - Unity Re..

게임엔진/DOTS 2023.01.01