목록Unity Learn/Game Programming Patterns (11)
Priv's Blog
Level up your code with game programming patterns A guide written by programmers, for programmers, that demonstrates how to leverage design best practices resources.unity.com 1. 마치며 만약 소프트웨어 패턴을 처음 접하신다면, 이 가이드가 Unity 개발에서 흔히 마주하게 되는 디자인 패턴 몇 가지를 이해하는 데도움이 되셨기를 바랍니다. 프리팹을 생성하기 위한 공장을 만들거나, AI를 위한 상태 패턴을 만들든지 간에 여기서 배운 기술들을 필요에 따라 적절히 활용하세요. 언제 그리고 어떻게 디자인 패턴을 적용할 것인지를 고려한다면 여러분이 앞으로 Unity 프로젝트를 ..
Level up your code with game programming patterns A guide written by programmers, for programmers, that demonstrates how to leverage design best practices resources.unity.com 1. 모델 뷰 프리젠터 (MVP: Model View Presenter) 모델 뷰 컨트롤러(MVC: Model View Controller)는 사용자 인터페이스를 개발할 때 흔히 쓰이는 디자인 패턴 중 하나입니다. MVC의 핵심 아이디어는 소프트웨어의 논리적 부분을 데이터와 프레젠테이션으로부터 분리하는 것입니다. 이는 불필요한 의존성을 줄이는 데 도움을 주고, 스파게티 코드가 탄생할 잠재적인 위험..
Level up your code with game programming patterns A guide written by programmers, for programmers, that demonstrates how to leverage design best practices resources.unity.com 1. 감시자 패턴 플레이 중인 게임 내에서는 수많은 일들이 벌어질 수 있습니다. 여러분이 적을 처치했을 때 어떤 일이 벌어지나요? 강화 아이템을 얻거나 목표를 달성했을 때는 어떤 일이 벌어지나요? 여러분은 이따금 몇몇 오브젝트들이 다른 오브젝트를 직접 참조하지 않고 알림을 보낼 수 있는 메커니즘을 만들기 위해 불필요한 의존성을 만들어 낼 것입니다. 감시자 패턴(Observer pattern)은 일..
Level up your code with game programming patterns A guide written by programmers, for programmers, that demonstrates how to leverage design best practices resources.unity.com 1. 상태 패턴(State pattern) 플레이어가 조작할 수 있는 캐릭터(Playable Character)를 제작하는 과정을 상상해 봅시다. 이 캐릭터는 땅 위에 서 있을 수도 있고, 컨트롤러를 조작해 달리거나 걸어 다닐 수도 있습니다. 점프 버튼을 누르면 캐릭터는 공중으로 뛰어오릅니다. 몇 프레임이 지나면 캐릭터는 땅 위에 서게 되고 대기 상태, 즉 서 있는 상태로 다시 진입합니다. 2. ..
Level up your code with game programming patterns A guide written by programmers, for programmers, that demonstrates how to leverage design best practices resources.unity.com 1. 커맨드 패턴 (Command pattern) 본래의 GoF 패턴 중 하나인 커맨드 패턴(Command Pattern)은 특정한 일렬의 행동들을 추적하고자 할 때 유용한 패턴입니다. 게임을 플레이하는 도중에 되돌리기/다시 실행하기 기능을 구현하고 싶거나, 사용자의 입력 데이터를 시간순으로 리스트에저장하는 히스토리 기능을 구현하고 싶을 때 커맨드 패턴을 사용할 수 있습니다. 플레이어가 실제로 전..
Level up your code with game programming patterns A guide written by programmers, for programmers, that demonstrates how to leverage design best practices resources.unity.com 1. 싱글톤 패턴 싱글톤 패턴은 평가가 그렇게 좋지만은 않습니다. 만약 여러분이 초보 Unity 개발자라면, 싱글톤 패턴은 여러분이 개발 현장에서 처음 마주하게 될 디자인 패턴 중 하나일 것입니다. 또한 디자인 패턴 중에서 가장 많이 비방을 받는 패턴이기도 하죠. 본래의 GOF(Gang of Four)에 따르면 싱글톤 패턴은: - 하나의 클래스는 오직 자기 자신의 인스턴스 단 하나만 인스턴스화할 ..
Level up your code with game programming patterns A guide written by programmers, for programmers, that demonstrates how to leverage design best practices resources.unity.com 1. 오브젝트 풀 오브젝트 풀링(Object pooling)은 수많은 게임 오브젝트를 생성 및 파괴할 때 CPU 자원 소모를 최적화하기 위한 기술입니다. 오브젝트 풀 패턴은 비활성화된 “풀(pool)” 안에서 준비되어 대기 중인 초기화된 오브젝트들의 묶음을 사용하는 패턴입니다. 오브젝트가 필요할 때, 여러분의 애플리케이션은 해당 오브젝트를 인스턴스화하지 않습니다. 그 대신, 여러분은 풀 안에 있는..
Level up your code with game programming patterns A guide written by programmers, for programmers, that demonstrates how to leverage design best practices resources.unity.com 1. 팩토리 패턴 때때로 다른 오브젝트들을 생성하기 위한 특수한 오브젝트를 만드는 것이 유용할 수 있습니다. 많은 게임이 게임이 플레이되는 동안 수많은 오브젝트를 생성(spawn)합니다. 또한 런타임 상에서 실제로 언제 어떤 오브젝트가 필요한지 모르는 일도 종종 발생합니다. 팩토리 패턴은 여러분이 예측하신 것처럼 필요에 따라 ‘공장(factory)’ 역할을 해주는 특별한 오브젝트를 디자인하는 디자..