분류 전체보기 188

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