유나이트 서울 2026 - 유니티 메모리 구조와 CoreCLR 이해하기
유니티 메모리 구조와 CoreCLR 이해하기
유나이트 서울 2026의 「유니티 메모리 구조와 CoreCLR 이해하기」 강연을 바탕으로, 주요 내용을 보강하고 GC의 동작 과정을 더 자세히 기술하였다.
이 글에서는 Unity 엔진의 메모리와, 최적화 팁 그리고 GC의 정책을 이해한다.
운영체제가 보는 메모리부터 구분한다
애플리케이션은 물리 메모리의 주소를 직접 사용하지 않는다.
운영체제가 제공하는 가상 주소를 사용하고, MMU가 이를 물리 메모리의 페이지와 연결한다.
페이지는 운영체제가 메모리를 관리하는 기본 크기의 블록이다.
Memory Profiler의 수치를 이해할려면 세 상태를 구분해야 한다.
...
유나이트 서울 2026 - AI 코딩 시대의 유니티 대규모 프로젝트 설계
AI 코딩 시대에, 그대들은 어떻게 코딩할 것인가?
AI 시대에 좋은 설계란 코드를 빨리 생성하는 구조가 아니라,
생성된 변경을 작고 확실하게 검증할 수 있는 구조이다.
이 글은 Unite Seoul 2026 강연을 바탕으로 AI 시대에 Clean Architecture가 더 중요해진 이유를 설명한다.
또한 순수 함수와 데이터 중심 설계로 로직을 분리해 AI가 이해하고 사람이 검증하기 쉬운 코드를 만드는 방법을 이야기한다.
코드 작성 비용보다 검증 비용이 중요해졌다
과거에는 개발자가 코드를 직접 작성하고 실행한 뒤 결과를 확인했다.
현재는 AI가 초안을 작성하고 개발자가 검토·수정·승인하는 비중이 커...
2026 SMKX-서울기계식키보드박람회 다녀와
서울기계식키보드박람회 후기
집에서 쓸 분리형 인체공학 기계식 키보드가 필요했고, 마침 이 행사가 있어서 참여했습니다. 입구에서 예약 티켓을 제시하고 래플/구매신청 티켓들을 받았습니다. 이게 뭔지 모르겠지만 일단 손에 들고 행사장에 들어갔습니다.
NocFree
행사장에 들어가자 점심시간임에도 관람객이 콩나물 시루처럼 엄청 많았습니다. 인기부스는 입구에서부터 줄이 서 있고 행사장이 좁고 부스간 간격이 좁았습니다.
천천히 둘러볼 생각은 사라지고 봐두어야 할 업체부터 바로 찾아갔습니다.
워크데스크용 키보드를 만든다고 합니다. 팜레스트 옵션이 있고, 틸트가 가능하며, 저소음 로우프로파일 스위치를 사용합니다...
Separating Axis Theorem
Separating Axis Theorem
SAT(Separating Axis Theorem)는 볼록 다면체 간 충돌을 감지하는 알고리즘이다.
이안 밀링턴 Game Physics Engine Development 14.3 SAT(Separating Axis Theorem)를 참고하여 작성하였다.
1. SAT 아이디어
두 객체가 분리되는 축이 있다면, 해당 객체들은 충돌하지 않는다.
3D 객체를 1D 축에 투영해서 확인한다. 각 객체는 해당 축을 따라 매핑되고, 이 범위에 겹치지 않으면 객체들이 분리되어 있다는 뜻이다.
볼록 다면체에서 다음 축들만 확인하면 된다:
면 법선 축: 두 객체의 모든 ...
각속도로 사원수를 회전
각속도로 사원수를 회전
이안 밀링턴 Game Physics Engine Development 책을 보고 있다. 거기서 아래 식
어떤 사원수에서 각속도만큼 회전했을 때 업데이트된 사원수를 구하는 식이다. 이 식의 유도 과정을 정리하였다.
책에서는 사원수를 θ로 표현했지만, 유도과정에서 회전각 θ와 기호가 헷갈릴 수 있기 때문에 기호 $q$로 대체해서 기술하겠다.
\[q(t+\Delta t) \approx q(t) + \frac{\Delta t}{2}\omega q(t)\]
사원수와 각속도의 관계
사원수와 각속도 표현
단위 사원수는 회전을 표현할 때 각속도 벡터 형태로 나타낼 수 있다:
\[q = \...
고속 역제곱근 알고리즘
고속 역제곱근 알고리즘
쇼츠에서 고속역제곱근 알고리즘 어쩌고 뜨길래 공부해 본 내용. 실무에 쓸 일은 없지만
들어가며
고속 역제곱근 알고리즘은 1/√x 값을 빠르게 근사하는 방법이다.
퀘이크3 아레나에서는 렌더링을 위한 벡터 정규화 연산으로 매 프레임마다 수천 번씩 1/√x 계산이 필요했다. 1990년대에는 GPU가 보편적이지 않았고 CPU의 부동소수점 연산이 느려서 이를 감당하기 어려웠다. 이에 존 카맥이 아래 역제곱근 함수를 작성했고(실제로 만든 건 아님), 이를 본 동료가 감탄하며 “what the fuck?”이라는 주석을 달았다는 일화로 유명해졌다.
float Q_rsqrt( float number...
픽셀아트 비디오 캡셔닝을 위한 VL 모델 실험 후기
픽셀아트 비디오 캡셔닝을 위한 VL 모델 실험 후기
용어
캡셔닝: 이미지나 비디오 콘텐츠를 자연어로 설명하는 텍스트 자동 생성 기술
VL 모델: Vision-Language 모델로, 시각 데이터와 텍스트를 동시 처리하여 멀티모달 이해 및 생성을 수행하는 AI 시스템
동기
게임 개발에서 인게임 스프라이트 애니메이션 제작 비용 절감을 위해 생성 AI 활용을 검토했다.
Wan 2.1/2.2 기반 LoRA 모델 훈련에는 균일한 스타일의 짧은 비디오와 해당 설명 캡션이 포함된 데이터셋이 필요하다.
수백 개 비디오에 대한 수동 캡션 작성은 시간과 비용 측면에서 비효율적이다. 따라서, VL 모델 기반 캡션 생성 자...
라이젠 2700X vs 9600X UE4 빌드 벤치마크
CPU 업그레이드를 통한 언리얼 엔진 빌드 시간 단축
주말간 AMD Ryzen 7 2700X에서 Ryzen 5 9600X로 피시를 업그레이드했다.
언리얼 엔진 4.27 프로젝트의 빌드 시간이 72분에서 34분으로 단축되었다.
시스템 사양 비교
기존 시스템 (Ryzen 7 2700X, 2세대)
CPU: AMD Ryzen 7 2700X (8코어 16스레드, 기본 3.7GHz, 최대 4.35GHz)
메모리: DDR4-3200 32GB
스토리지: Samsung 980 PRO 1TB (NVMe)
GPU: NVIDIA GeForce RTX 4070 Ti
쿨러: LP(Low Profile) 쿨러
신...
전체 글 29개, 4 페이지