| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- github desktop
- MVP 패턴
- 의존성 주입
- 스타일 지침
- 구글플레이콘솔
- 데이터 형식
- unity
- Object Pool
- New Input System
- event bus
- 테이블 데이터
- 상태 패턴
- Visual Studio Installer
- 개발
- Canvas Scaler
- 콘솔 앱
- Dependency Injection
- 기술면접
- 이벤트 버스
- 게임 디자인 패턴
- 구글 스프레드 시트
- C#
- 추상 팩토리 패턴
- Unity 기술면접
- Render Mode
- 프로젝트 생성
- 오브젝트 풀
- Abstract Factory Pattern
- Today
- Total
목록분류 전체보기 (45)
DevDino
프로젝트의 볼륨이 커지면 수많은 기획 데이터를 유니티 에디터에서 일일이 입력하는 것은 비효율적이며 휴먼 에러를 유발하기 쉽습니다.이러한 문제를 해결하고 완벽한 데이터 파이프라인을 구축하기 위해, 구글 스프레드시트를 TSV 포맷으로 다운로드하여 리플렉션(Reflection)을 통해 ScriptableObject로 자동 변환하는 에디터 툴을 구현하게 되었습니다. 1. 비동기 TSV 데이터 다운로더 구현구글 스프레드시트의 데이터를 읽어오는 TSVDownloader 클래스입니다. UnityWebRequest를 활용해 지정된 문서 ID와 시트 ID로부터 TSV 포맷의 텍스트 데이터를 비동기로 다운로드 합니다.using System;using System.Threading.Tasks;using UnityEngine..
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)'패턴에 대해 알아보겠습니다. 의존성 주..