목록전체 글 (307)
Araina’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. 상태 패턴(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)은 특정한 일렬의 행동들을 추적하고자 할 때 유용한 패턴입니다. 게임을 플레이하는 도중에 되돌리기/다시 실행하기 기능을 구현하고 싶거나, 사용자의 입력 데이터를 시간순으로 리스트에저장하는 히스토리 기능을 구현하고 싶을 때 커맨드 패턴을 사용할 수 있습니다. 플레이어가 실제로 전..
1. Mathf.Lerp( ) Mathf 라이브러리에서 제공하는 Learp( ) 메서드는 선형 보간을 구현할 수 있게 해주는 메서드입니다. 흔히 말하는 '부드럽게 이동하기' 기능을 구현하기 위해서 종종 마주하게 되는 메서드입니다. 선형 보간은 쉽게 말해서 두 값이 주어졌을 때, 두 값 사이를 직선으로 이은 뒤, 선형적으로 그 사이의 값을 추정해 내는 기법입니다. 이해를 쉽게 하기 위해 덧붙이자면, AMD에서 개발해 제공하는 Fluid Motion Video 기술을 설명할 때도 '보간'이라는 단어가 등장합니다. Fluid Motion Video 기술은 영상의 두 프레임 사이의 이미지를 추정해 그려낸 뒤, 이를 삽입하여 기존의 영상보다 더 많은 프레임을 지닌(더 부드러운) 영상을 만들어내는 기술입니다. Un..
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 ..
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)에 따르면 싱글톤 패턴은: - 하나의 클래스는 오직 자기 자신의 인스턴스 단 하나만 인스턴스화할 ..