목록전체 글 (382)
Priv's Blog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bMWfzE/btsBjrmNJ3c/cUharf8KYRiJ0jgJl3M8tk/img.jpg)
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 프로젝트를 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dEVVpI/btsAQAYJylw/5GHTZlcUJr2NrWYKiKtQc1/img.jpg)
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의 핵심 아이디어는 소프트웨어의 논리적 부분을 데이터와 프레젠테이션으로부터 분리하는 것입니다. 이는 불필요한 의존성을 줄이는 데 도움을 주고, 스파게티 코드가 탄생할 잠재적인 위험..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nI7U1/btsAw5MQhd9/mwBjYsYXouIT4192ocrCY0/img.jpg)
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)은 일..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Gu4Ys/btsAbmHaC1e/RVHkcMggeV3GRMvOPwRzjk/img.jpg)
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. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nHWEn/btszGvLdKl6/WuoA54GPk55t2kbCL56pE0/img.jpg)
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)은 특정한 일렬의 행동들을 추적하고자 할 때 유용한 패턴입니다. 게임을 플레이하는 도중에 되돌리기/다시 실행하기 기능을 구현하고 싶거나, 사용자의 입력 데이터를 시간순으로 리스트에저장하는 히스토리 기능을 구현하고 싶을 때 커맨드 패턴을 사용할 수 있습니다. 플레이어가 실제로 전..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bc6fPn/btsz6jFgmXJ/uzx7Ft0JZ4m7vs6jT64Gx1/img.jpg)
1. Mathf.Lerp( ) Mathf 라이브러리에서 제공하는 Learp( ) 메서드는 선형 보간을 구현할 수 있게 해주는 메서드입니다. 흔히 말하는 '부드럽게 이동하기' 기능을 구현하기 위해서 종종 마주하게 되는 메서드입니다. 선형 보간은 쉽게 말해서 두 값이 주어졌을 때, 두 값 사이를 직선으로 이은 뒤, 선형적으로 그 사이의 값을 추정해 내는 기법입니다. 이해를 쉽게 하기 위해 덧붙이자면, AMD에서 개발해 제공하는 Fluid Motion Video 기술을 설명할 때도 '보간'이라는 단어가 등장합니다. Fluid Motion Video 기술은 영상의 두 프레임 사이의 이미지를 추정해 그려낸 뒤, 이를 삽입하여 기존의 영상보다 더 많은 프레임을 지닌(더 부드러운) 영상을 만들어내는 기술입니다. Un..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yii15/btszKCxFRkk/dSsGH6fEiqMuBk5b0xyKFk/img.jpg)
1. foreach( ) 문 foreach( ) 문은 배열이나 리스트, 딕셔너리 등과 같은 타입의 인스턴스를 매개변수로 받아서 각 요소들을 반복적으로 반환하는 편리한 반복문입니다. var fibNumbers = new List { 0, 1, 1, 2, 3, 5, 8, 13 }; foreach (int element in fibNumbers) { Console.Write($"{element} "); } // Output: // 0 1 1 2 3 5 8 13 하지만 foreach( ) 문은 enumerator를 사용합니다. 다른 언어에서는 iterator라는 단어를 사용하지만, C#에서는 enumerator라는 단어를 사용하므로 구분해 사용하겠습니다. 2. enumerator는 참조 형식(Reference ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/FQZPh/btsy2qKh4zV/VJa2yUc3sE8TjDBNQehmM1/img.jpg)
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)에 따르면 싱글톤 패턴은: - 하나의 클래스는 오직 자기 자신의 인스턴스 단 하나만 인스턴스화할 ..