| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 구글 스프레드 시트
- 오브젝트 풀
- 유니티
- Di
- New Input System
- 상태 패턴
- 구글플레이콘솔
- 추상 팩토리 패턴
- Canvas Scaler
- Render Mode
- 테이블 데이터
- Object Pool
- C#
- github desktop
- 콘솔 앱
- MVP 패턴
- event bus
- 스타일 지침
- Dependency Injection
- 이벤트 버스
- Abstract Factory Pattern
- Unity 기술면접
- Visual Studio Installer
- 게임 디자인 패턴
- 데이터 형식
- 의존성 주입
- unity
- 프로젝트 생성
- 개발
- 기술면접
- Today
- Total
목록Unity (37)
DevDino
MVC / MVP 패턴게임을 개발하다 보면 UI 스크립트 하나에 플레이어의 체력 데이터, 데미지 계산 로직, 체력바를 갱신하는 코드가 모두 섞여 있는 '스파게티 코드'를 작성하게 될 때가 있습니다. 처음에는 구현하기 편할 수 있지만, 프로젝트의 규모가 커질수록 UI를 수정하다가 게임 핵심 로직이 망가지거나, 반대로 데이터를 수정했는데 UI에서 에러가 터지는 등 유지보수에 큰 어려움을 겪게 됩니다. 이런 의존성 문제에서 벗어나, 코드의 역할을 분리하여 구조를 깔끔하게 다듬고 유지보수성을 크게 끌어올려주는 MVC(Model-View-Controller) / MVP(Model-View-Presenter) 패턴에 대해 알아보겠습니다. 특히 유니티 환경에서 가장 직관적이고 많이 쓰이는 MVP 패턴을 기준으로 구..
오브젝트 풀 패턴(Object Pool Pattern)게임을 개발하다 보면 총알, 적 캐릭터, 파티클 이펙트처럼 동일한 오브젝트를 짧은 시간 동안 수없이 생성하고 파괴해야 할 때가 있습니다. 필요할 때마다 Instantiate와 Destroy 함수를 호출하여 구현할 수는 있지만, 객체의 생성과 파괴가 빈번해질수록 메모리에 부하가 걸려 게임에 렉(프레임 드랍)이 발생하게 됩니다. 이런 성능 저하 문제에서 벗어나, 미리 만들어둔 오브젝트를 재활용하여 성능을 끌어올려주는 오브젝트 풀(Object Pool) 패턴에 대해 알아보겠습니다. 특히 유니티에서 기본적으로 제공하는 내장 API를 활용해 아주 쉽고 안전하게 구현하는 방법을 소개합니다. 오브젝트 풀 패턴(Object Pool Pattern)이란?오브젝트 풀 ..
의존성 주입 패턴(Dependency Injection Pattern)게임을 개발하다 보면 플레이어가 데미지를 입었을 때 소리를 내기 위해 AudioManager.Instance.PlaySound()처럼 싱글톤(Singleton)을 호출하는 경우가 아주 흔합니다.하지만 이렇게 작성하면 플레이어 클래스는 특정 오디오 매니저에 '강하게 결합(Tight Coupling)'되어버립니다. 만약 테스트를 위해 소리를 끄고 싶거나, 다른 씬에서 다른 오디오 매니저를 사용해야 한다면 플레이어의 내부 코드를 직접 수정해야 하는 문제가 발생합니다. 이처럼 객체가 스스로 필요한 부품(의존성)을 찾거나 만들어 쓰는 대신, 외부에서 조립해서 넣어주는(주입하는) 방식인 '의존성 주입(DI)'패턴에 대해 알아보겠습니다. 의존성 주..
목표유니티 환경에서 객체지향 5대 원칙(SOLID)객체지향 설계 5대 원칙(SOLID)좋은 게임 아키텍처를 설계하기 위해서는 코드를 유연하고 유지보수하기 쉽게 작성하는 것이 핵심입니다. SOLID 원칙은 이를 달성하기 위한 5가지 객체지향 설계 핵심 원칙을 의미합니다.특히 유니티 환경에서는 하나의 컴포넌트(MonoBehaviour)에 여러 기능이 무분별하게 집중되어 코드가 엉키기 쉬우므로, 이 5대 원칙을 설계에 적용하는 습관을 들이는 것이 매우 중요합니다.1. 단일 책임 원칙(SRP, Single Responsibility Principle)하나의 클래스는 단 하나의 책임(역할)만 가져야 한다는 원칙입니다.- 핵심: 코드가 변경되어야 하는 이유는 단 하나여야 하며, 이를 통해 코드의 가독성을 높이고 버..