| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- AES
- job
- 오공완
- 샘플
- TextMeshPro
- 직장인자기계발
- RSA
- 패스트캠퍼스후기
- Unity Editor
- Custom Package
- sha
- base64
- Dots
- 가이드
- 2D Camera
- Tween
- adfit
- Framework
- 직장인공부
- 환급챌린지
- 최적화
- unity
- ui
- C#
- 암호화
- 게임개발
- DotsTween
- Job 시스템
- 프레임워크
- 패스트캠퍼스
- Today
- Total
목록전체 보기 (206)
EveryDay.DevUp
null이란 무엇인가 — null의 두 얼굴Unity 모바일 개발에서 가장 흔한 런타임 오류는 NullReferenceException이다. 이 예외를 제대로 이해하려면 null이 메모리 수준에서 무엇인지, C#과 Unity가 각각 null을 어떻게 다루는지 알아야 한다. null에는 두 얼굴이 있다 — 참조 타입의 "빈 주소"와, 값 타입에 억지로 null을 담기 위해 만든 Nullable 구조체.목차기초 개념 — null은 주소값 0이다동작 원리 — CLR이 callvirt로 null을 잡아내는 방법특징 — Nullable와 null 연산자 삼총사장단점 — null을 언제 쓰고 언제 피해야 하는가주로 실수하는 부분C# 버전별 개선점핵심 정리기초 개념 — null은 주소값 0이다null이란 무엇인가택배..
boxing과 unboxing — 값 타입이 힙에 올라가는 순간 코드에 new가 없다고 해서 힙 할당이 없는 건 아니다. 📋 목차 boxing과 unboxing — 왜 존재하는가 boxing이 숨어있는 곳 — 생각보다 많다 제네릭으로 boxing 제거하기 C#이 boxing에 맞서온 역사 Unity에서의 boxing — GC 스파이크의 주범 정리 boxing과 unboxing — 왜 존재하는가 C# 타입 시스템이 만든 구조적 긴장 C#은 성능과 통일성이라는 두 목표를 동시에 추구한다. 성능을 위해 int, float, struct 같은 값 타입(Value Type)은 스택(Stack, 메서드가 호출될 때 생성되는 임시 메모리 공간)에 직접..
struct vs class — 값 타입과 참조 타입, 무엇이 다른가 Unity로 게임을 만들다 보면 자연스럽게 이런 질문을 하게 됩니다. "Vector3는 왜 struct고, MonoBehaviour는 왜 class인가?" 단순히 "struct는 스택, class는 힙"이라고 외우는 수준으로는 Unity에서 발생하는 GC(Garbage Collector, 사용되지 않는 메모리를 자동으로 회수하는 런타임 구성요소) 스파이크나 예상치 못한 버그를 잡을 수 없습니다. 이 글에서는 메모리 동작 원리부터 IL(Intermediate Language, C# 코드가 컴파일되면 생성되는 중간 언어) 수준의 차이, 실전 함정까지 깊이 파고듭니다. 목차 스택과 힙 — 메모리 구조 이해 값..
AI 에이전트로 C# 개념 심화 블로그를 자동으로 만드는 방법 Unity 모바일 게임 클라이언트 신입 개발자를 위한 C# 개념 심화 콘텐츠를 AI 에이전트가 리서치부터 게시까지 자동으로 처리하는 워크플로우를 소개한다. 📋 목차 이 프로젝트가 해결하려는 문제 프로젝트 목표 전체 워크플로우 STEP 1 — 주제 선정 및 폴더 생성 STEP 2 — 리서치 및 result.md 작성 STEP 3 — 게시글 검토 및 교정 STEP 4~6 — 병렬 배포 최종 산출물 구조 사용하는 주요 도구 왜 이 구조인가 마무리 이 프로젝트가 해결하려는 문제 C#과 Unity를 배우는 신입 개발자에게는 두 가지 장벽이 있다. ..
1. 프로파일링 전 타겟 디바이스 설정성능 최적화 작업을 시작하기 전에 반드시 타겟 환경을 명확히 정의해야 합니다. 이는 최적화 목표와 방향성을 결정하는 핵심 단계입니다.플랫폼 결정Unity는 PC, 모바일, 휴대용 게임기 등 다양한 플랫폼을 지원하며, 크로스 플랫폼 개발 환경이 잘 구축되어 있어 하나의 프로젝트로 여러 플랫폼을 동시에 지원할 수 있습니다. 각 플랫폼의 특성을 이해하고 프로젝트에 적합한 플랫폼을 선택해야 합니다.타겟 디바이스 스펙 분석매출 극대화를 위해서는 최대한 넓은 범위의 저사양 디바이스를 지원하는 것이 유리하지만, 프로젝트의 장르와 특성에 따라 지원 가능한 디바이스 스펙에는 한계가 존재합니다.타겟 디바이스 설정 시 고려해야 할 핵심 요소들은 다음과 같습니다:운영체제와 아키텍처: 지원..
게임 성능 최적화를 논할 때 많은 개발자들이 GPU 최적화에만 집중하는 경향이 있습니다. 물론 GPU 최적화도 중요하지만, CPU 최적화 역시 전체적인 게임 성능에 결정적인 영향을 미칩니다. 실제로 CPU와 GPU는 독립적으로 작동하는 것이 아니라 긴밀하게 연결되어 있습니다.CPU는 매 프레임마다 렌더링할 오브젝트들을 선별하고 GPU에게 드로우 콜을 전송하는 역할을 담당합니다. 만약 CPU에서 병목 현상이 발생하면 GPU에게 드로우 콜을 보내는 데 시간이 오래 걸리게 되고, 이는 결국 GPU가 할 일 없이 CPU의 작업 완료를 기다리는 상황으로 이어집니다. Unity 프로파일러에서 이런 현상을 확인할 때 Gfx.WaitForPresent 마커가 나타나는데, 이는 메인 스레드가 준비되었지만 GPU의 프레임..
알파를 처리하는 방법에 대해 이야기 하기전에, 그래픽스를 처리할 때 불투명, 반투명 오브젝트를 어떻게 처리하는지 먼저 이해할 필요가 있습니다.1. 불투명 오브젝트와 투명 오브젝트1) 불투명 오브젝트- 빛을 완전히 차단하여 뒤쪽 객체를 전혀 볼 수 없게 만드는 3D 객체- 알파값이 1.0(완전 불투명)이거나, 투명도 정보가 없는 객체를 의미2) 반투명 오브젝트- 빛을 부분적으로 투과시켜 뒤쪽 객체를 어느 정도 볼 수 있게 만드는 3D 객체- 알파값이 0.0과 1.0 사이의 값을 가지며, 앞뒤 객체의 색상이 혼합되어 렌더링됩니다. 불투명 오브젝트 (Opaque) ..
게임 개발에서 3D 캐릭터는 필수적인 요소입니다. 아트팀에서 제작한 3D 캐릭터를 Unity로 가져오기 위해서는 적절한 파일 형식이 필요한데, 이때 가장 널리 사용되는 것이 바로 FBX 포맷입니다.FBX 파일 형식이란?FBX는 Autodesk에서 개발한 3D 파일 형식으로, 3D 모델링, 애니메이션, 게임 개발 분야에서 광범위하게 사용되고 있습니다. 특히 게임 개발에서는 아트 파이프라인과 게임 엔진 사이의 다리 역할을 하는 중요한 포맷입니다.FBX의 주요 특징다양한 데이터 지원 FBX는 단순한 3D 모델 정보를 넘어 다양한 데이터를 포함할 수 있습니다. 3D 모델의 기하학적 형태는 물론, 텍스처, 재질, 애니메이션, 조명, 카메라 정보까지 모두 하나의 파일에 담을 수 있어 매우 효율적입니다.뛰어난 호환성..
물리 기반 렌더링(Physically Based Rendering, PBR) 정의PBR은 현실 세계의 빛과 물체의 상호작용을 물리 법칙에 기반하여 시뮬레이션하는 렌더링 기법현실 세계의 빛 반사 현상현실의 모든 물체는 고유한 색상을 가지며, 빛을 받았을 때 두 가지 주요한 반사 현상이 발생 1. 정반사광 (Specular Reflection)정의: 비춰진 빛 자체를 표면의 각도에 의해 정해진 방향으로만 반사하는 현상특징:입사광의 색상을 그대로 한 방향으로 반사물체의 고유 색상과는 무관하게 빛의 색상이 그대로 나타남예외: 금속의 경우 금속 자체의 색상을 머금고 반사2. 난반사광 (Diffuse Reflection)정의: 빛을 받은 표면에서 물체 고유의 색을 다수의 방향으로 반사하는 현상특징:물체가 빛을 흡수..
서론: 왜 대역폭이 중요한가? 현대 실시간 렌더링에서 GPU 메모리 대역폭은 그래픽 품질과 성능을 결정짓는 핵심 자원입니다. 고해상도 텍스처, 복잡한 3D 모델, 정교한 셰이더 등 시각적 충실도를 높이는 모든 요소는 이 한정된 대역폭을 차지하기 위해 경쟁합니다. 대역폭이 부족하면 GPU는 데이터를 기다리며 유휴 상태에 빠지고, 이는 프레임 속도 저하, 화면 끊김(stuttering)으로 직결됩니다. 따라서 대역폭 관리는 단순히 성능을 개선하는 작업을 넘어, 주어진 하드웨어 제약 내에서 최상의 시각적 경험을 구현하기 위한 필수 기술입니다.Part I: 기초 원리 및 성능 분석섹션 1: 현대 GPU 아키텍처와 대역폭 병목1.1. GPU 메모리 계층 구조GPU 성능의 핵심은 여러 단계로 나뉜 메모리 계층..
