Project OneMinute - 개발 일지 (2)
DOTS 폐기 현재 DOTS에는 지원하지 않는 것들이 너무 많아, 잠시 내려놓고자 합니다. AI Navigation, Animation 등등이 DOTS에 추가되기 전까진 사용하지 않을 것 같습니다. 그 전까진 아쉬운대로 Job + Burst Compile만 사용해서 최적화를 진행해보겠습니다. Top Down Camera Cinemachine...
DOTS 폐기 현재 DOTS에는 지원하지 않는 것들이 너무 많아, 잠시 내려놓고자 합니다. AI Navigation, Animation 등등이 DOTS에 추가되기 전까진 사용하지 않을 것 같습니다. 그 전까진 아쉬운대로 Job + Burst Compile만 사용해서 최적화를 진행해보겠습니다. Top Down Camera Cinemachine...
대략 5년 전, 플레이 스토어에 간단한 게임 하나를 출시한 적이 있습니다. 잊어먹고 있었는데 나중에 확인하니 1만 다운로드가 넘어있더군요 그래서 이번 기회에 버전 2를 만들어 업데이트를 해보려 합니다. 개발 목표는 다음과 같습니다. DOTS 사용 그래픽/UI 개선 3D로 변경 멀티플레이 추가 PC/Mobile 크로스 플랫폼으로...
Problem Unity의 Collider과 Rigidbody 컴포넌트가 Subscene에서 자동으로 Bake되는 것 같긴 합니다만.. 몇몇 동작하지 않는 기능이 있는 것 같습니다. Rotation을 Freeze해도 기능이 적용되지 않습니다. Solution Package Manager > Unity Physics > Samp...
Entity Entity는 GameObject와 유사하다. 다만 Entity는 코드를 갖거나 컴포넌트의 컨테이너 역할을 하지 않는다. 그저 독립적으로 존재하는 Data(Component)를 묶는 ID 역할을 한다. Unity에서 사용하는 Data Packing 방법은 Archetype^[Unity DOTS 1. 왜 데이터 지향 프로그래밍(DOP...
DOTS Entities 1.0.16 기준입니다. DOTS(Data-Oriented Technology Stack) 데이터 지향 기술 스택이다. 아래 패키지들을 한번에 DOTS라고 부른다. Entities Entities Graphics Job System Unity Physics Havok Physics for Uni...
Google Search Console에서 직접 색인 요청을 하려면 모든 URL에 대해 일일히 요청해야 합니다. 이 과정을 조금이나마 편하게 만들어 보겠습니다. Google에서 제공하는 Web Search Indexing API를 사용할 것입니다. 전제 조건 Google Search Console에 블로그를 등록한 상태입니다. 블로그에 s...
What is this? 벡터, 행렬 등 Unmanaged type을 제공한다. 사용하는 이유는 Unity DOTS 2. Burst Package를 참고하라. How to use? using static Unity.Mathematics.math; Unity Mathematics을 사용하려면 코드에 위와 같이 Import해...
What is this? 관리되지 않는 데이터 구조를 제공하는 패키지다. 여기서 관리되지 않는다는 의미는 Garbage Collection (GC)가 메모리를 자동으로 관리해주지 않는다는 의미다. 따라서 Unmanaged Data는 프로그래머가 메모리를 직접 관리해야 하는 의무가 있다. Native Collection과 Unsafe Collecti...
What is this? Burst는 마법의 도구인가? 왜 Burst는 빠른가? 기존 Compiler는 무엇이고, 그것이 왜 느린가? 이를 이해하기 위해서, 기존의 유니티 컴파일 방식에 대한 이해가 필요하다. Compilation Method 컴파일 방식에는 크게 AOT 방식과 JIT 방식이 존재한다. AOT(Ahead-Of-T...
DOP (Data Oriented Programming) 의 등장 배경을 이해하기 위해 CPU와 메모리가 어떻게 데이터를 주고받는지 이해할 필요가 있다. CPU 우리가 작성한 코드는 컴파일되면 모두 CPU가 이해할 수 있는 명령어 형태로 번역된다. 컴파일 된 프로그램을 실행하면, 코드와 데이터들이 메모리에 쓰여진다. 이렇게 메모리에 올라가 실행중인...