Unity 4

[최적화 스터디] 4. 드로우 콜, 배칭, SRP Batcher

* 본 게시물은 3D 유니티 프로젝트를 다룬다. Draw CallCPU가 상태 세팅(머티리얼, 셰이더, 텍스처)을 마친 이후 드로우를 호출하면, GPU가 픽셀 연산을 수행하게 된다.이때 CPU가 GPU에게 상태 세팅을 보내서 연산을 수행하라는 명령 1번을 Draw Call(드로우 콜)이라고 한다.주의할 점은 오브젝트 수가 아닌, 묶을 수 있는 오브젝트 그룹 수가 draw call의 수다. 오브젝트가 같은 머터리얼, 같은 렌더링 상태를 보유하고 있다면 같은 그룹으로 묶을 수 있다. Unity의 Frame Dubber를 사용하면 Draw call을 분석할 수 있다.CPU가 매 프레임마다 draw call을 많이 던지면, draw call을 셋업하다가 병목나는 경우가 많기 때문에 최대한 줄여주는 것이 좋다.아..

공부/Unity 2025.11.27

[최적화 스터디] 3. Project Auditor 2

* 본 게시물은 3D 유니티 프로젝트를 다룬다. 지난 게시물에서 다뤘던 Project Audtior를 활요하여 최적화를 몇 가지 더 진행하였다. Object.FindObjectsOfType()PipeInteractionRig.cs/ConveyorBeltDiagonalRig.cs - FindPlayerCC//수정 전static CharacterController FindPlayerCC(string tagName){ GameObject go = null; if (!string.IsNullOrEmpty(tagName)) go = GameObject.FindGameObjectWithTag(tagName); CharacterController cc = null; if (go) ..

공부/Unity 2025.11.27

[최적화 스터디] 1. GC에 대해

* 본 게시물은 3D 유니티 프로젝트를 다룬다. GarbageCollector.CollectIncremental보스전 씬에서 Profiler를 돌려보던 중 GarbageCollector.CollectIncremental이 급격하게 높아지는 것을 확인했다. GarbageCollector가 뭔데 이렇게 갑자기 튀는걸까? 하는 궁금증이 생겨 GC에 대해서 검색해보았다. 일단 이미지는 유니티의 '증분형 가비지 컬렉션(Incremental Garbage Collection)'이 작동하고 있다는 뜻이다. 여기서 가비지 컬렉션 (GC)은 시스템이 자동으로 더 이상 사용되지 않는 메모리를 찾아내어 수거하고, 이 공간을 다시 사용할 수 있도록 정리하는 역할을 하며, CPU 자원을 소모한다.일반 GC vs. 증분형 GC ..

공부/Unity 2025.11.18

MiniBossRush 개발 후기

깃허브 링크: https://github.com/BeepBeepMaeae/MiniBossRush다운로드 링크: https://drive.google.com/file/d/1sfvdrcUiaT7E1i39AtPdukjAWRY3ax46/view?usp=drive_link 개발 기간: 1개월 유튜브에서 그대로 따라하거나, 다른 사람과 협업하며 게임의 한 부분을 완성한 적은 있지만 이렇게 게임을 '완성'하고, 다른 사람에게 직접 배포한 것은 이게 처음이 아닐까 싶다. 초기 기획은 친구의 생일을 축하하기 위해 만든 게임이었고, 매우 간단하게 구현하려고 했다.'엘든 링'의 세계관과 소울라이크 좋아하는 친구, 그리고 IWBTG 류의 액션 어드벤처 플랫폼 게임을 좋아하는 나. 그렇다면 이 두 장르를 접목시킨다면 내가 개발..

개발후기 2025.09.03