DOTS – EntitesSample (3)

13. Custom2DTransforms Transform2DAuthoring.cs Transform2DAuthoring 클래스의 주요 목표는 기존 Unity의 Transform 시스템을 사용하지 않고, ECS(Entity Component System)에서 동작하는 최적화된 커스텀 2D 트랜스폼 시스템을 구현하는 것 MovementSystem.cs 커스텀 2D 트랜스폼 데이터(LocalTransform2D)를 사용하여 객체를 움직이고 크기 및 회전을 조정하는 시스템을 구현 LocalToWorld2DSystem.cs LocalTransform2D 데이터를 기반으로 각 엔티티의 월드 공간(LocalToWorld 변환 행렬)을 계산합니다. 추가적으로 부모-자식 관계를 고려하여 계층 구조를 […]

DOTS – EntitesSample (3) 더 읽기"

DOTS – EntitesSample (2)

8. HelloCube_GameObjectSync Directory.cs Directory 클래스는 게임 오브젝트 및 UI 요소에 대한 중앙 관리를 담당합니다. 여러 시스템이 이 클래스를 통해 게임 오브젝트나 UI 요소에 접근할 수 있기 때문에 객체 관리가 용이해집니다. 프로젝트가 커질 경우 Directory 클래스를 통해 관리되는 객체들이 많아질 수 있습니다. 이때 더 많은 디렉토리 클래스를 만들어 객체들을 분류할 수 있습니다. 예를 들어, 하나는 UI

DOTS – EntitesSample (2) 더 읽기"

DOTS – EntitesSample (1)

1. HelloCube_MainThreadSubscene RotationSystem.cs OnCreate()는 시스템이 생성될 때 호출됩니다. RequireForUpdate를 사용하여 시스템 업데이트를 위해 ExecuteMainThread 컴포넌트가 필요함을 선언합니다. OnUpdate()는 시스템이 업데이트될 때 호출됩니다. SystemAPI.Query<RefRW<LocalTransform>, RefRO<RotationSpeed>>를 사용하여 LocalTransform과 RotationSpeed 컴포넌트를 가진 모든 엔티티를 반복합니다. transform은 LocalTransform 컴포넌트의 읽기-쓰기 참조를 나타내고, speed는 RotationSpeed 컴포넌트의 읽기 전용 참조를 나타냅니다. transform.ValueRW를 업데이트하여 회전 속도(RadiansPerSecond)와 deltaTime을 기반으로 엔티티를 회전시킵니다. RotationSpeedAuthoring.cs Baker

DOTS – EntitesSample (1) 더 읽기"

DOTS 정리 (4) – 튜토리얼 실습

https://learn.unity.com/tutorial/660ffc54edbc2a1b0887d45e?uv=6&projectId=660ffcd3edbc2a162b7baa27#66ceb510edbc2a02913174e1 엔티티로 변환 ECS(Entity Component System)와 DOTS(Data-Oriented Technology Stack)를 사용하여 Tank 오브젝트를 정의하고 이를 엔티티로 변환하는 작업 TankAuthoring.cs Baker 클래스는 Baker를 상속받아 TankAuthoring MonoBehaviour를 엔티티로 변환하는 로직을 정의 Bake 메서드에서 authoring 객체의 Turret과 Cannon을 엔티티로 변환하고, Tank 컴포넌트를 추가합니다. GetEntity 메서드는 특정 GameObject를 입력으로 받아 해당 오브젝트를 엔티티로 변환 Tank 구조체는 IComponentData를 구현하여 엔티티에 부착할

DOTS 정리 (4) – 튜토리얼 실습 더 읽기"

DOTS 정리 (3) – HelloCube로 엔티티 알아보기

이전 글 HelloCube로 엔티티 알아보기 Entity는 Unity 씬에 직접 추가할 수 없지만 Unity 씬이 다른 씬 내부에 하위 씬으로 중첩된 경우 베이킹이라고 하는 프로세스를 통해 하위 씬의 각 게임 오브젝트에 해당하는 Entity가 생성됩니다. 런타임 시 하위 씬이 로드되면 게임 오브젝트가 아닌 베이크된 Entity만 로드됩니다. Baking과 SubScene Scene은 엔티티를 직접 포함할 수 없지만 SubScene에서 Entity를 로드할

DOTS 정리 (3) – HelloCube로 엔티티 알아보기 더 읽기"

백준 30804번 (과일 탕후루, C++) [BAEKJOON]

과일 탕후루 https://www.acmicpc.net/problem/30804 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 1024 MB 13648 4768 3826 33.976% 문제 은하는 긴 막대에 N개의 과일이 꽂혀있는 과일 탕후루를 만들었습니다. 과일의 각 종류에는 1부터 9까지의 번호가 붙어있고, 앞쪽부터 차례로  번 과일이 꽂혀있습니다. 과일 탕후루를 다 만든 은하가 주문을 다시 확인해보니 과일을 두 종류 이하로 사용해 달라는 요청이

백준 30804번 (과일 탕후루, C++) [BAEKJOON] 더 읽기"

백준 28702번 (FizzBuzz, C++) [BAEKJOON]

FizzBuzz https://www.acmicpc.net/problem/28702 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 0.5 초 1024 MB 13102 8022 7260 61.593% 문제 FizzBuzz 문제는 i=1,2,⋯ 에 대해 다음 규칙에 따라 문자열을 한 줄에 하나씩 출력하는 문제입니다. FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열이 주어집니다. 이때, 이 세 문자열 다음에 올 문자열은 무엇일까요? 입력 FizzBuzz 문제에서 연속으로 출력된 세

백준 28702번 (FizzBuzz, C++) [BAEKJOON] 더 읽기"

Quota (쿼터)

Quota (쿼터) 리눅스에서 쿼터(Quota)는 사용자 또는 그룹이 사용할 수 있는 디스크 공간 및 파일 개수를 제한하는 시스템 관리 도구 디스크 자원을 효율적으로 관리하고, 특정 사용자가 시스템 디스크 자원을 과도하게 사용하는 것을 방지 파일 시스템을 “/” (root) 로 지정하는 것보다는, 별도의 파일시스템을 지정해서 해당 부분을 쓰도록 하는 것이 좋음 “/” (root)을 동시에 여러 사용자가 사용하게되면, 우분투

Quota (쿼터) 더 읽기"

Ubuntu – LVM (Logical Volume Manager)

LVM (Logical Volume Manager) LVM은 리눅스 환경에서 유연하고 효율적인 디스크 관리 기능을 제공하는 논리 볼륨 관리 시스템 디스크 공간을 논리적으로 관리하고 확장하거나 축소할 수 있으며, 물리적인 디스크 파티션에 의존하지 않고도 유연한 디스크 관리를 가능하게 함 LVM 주요 개념 3가지 1. Physical Volume (PV) 실제 물리적 디스크 또는 디스크의 파티션 예: /dev/sda1, /dev/sdb1 pvcreate 명령으로 생성

Ubuntu – LVM (Logical Volume Manager) 더 읽기"

RAID 6, RAID 10(1+0)

RAID 6 데이터를 스트라이핑(Striping) 방식으로 저장하면서, 두 개의 패리티(Parity) 정보를 사용하여 최대 2개의 디스크가 동시에 손상되어도 데이터를 복구할 수 있는 고안정성 RAID 레벨 RAID 5와 비슷하지만, 패리티 블록을 두 개로 늘려 더 높은 안정성을 제공하며, 최소 4개의 디스크가 필요합니다. RAID 6 특징 RAID 6 장점 RAID 6 단점 RAID 6 실습 RAID 10 (1+0) RAID

RAID 6, RAID 10(1+0) 더 읽기"

위로 스크롤