본문 바로가기

유한상태기계

유한 상태 기계(Finite State Machines, FSM) #2 (3/3) 원문보기 1편보기 2편보기(이어서 계속) 클로저 (역자 주 : 클로저에 대해서 처음들어보시는 분은 밑에 내용을 읽기 전에 링크를 통해서 클로저에 대한 대략적인 이해를 하시고 보시면 좀 더 쉽게 내용을 이해하실 수 있습니다.) 자, 우리는 위에서 클로저를 만들기 위해 델리게이트에 인스턴스의 참조를 어떻게 숨기는지를 봤다. 이런 이유로, 델리게이트를 사용할 때, Action이 인스턴스 맴버 혹은 static 맴버를 가리키는지, 이 메소드가 존재하는 클래스가 무엇인지 등을 알 필요가 없다. 단지 알아야 하는 것은 someAction()를 호출했을 때 그저 잘 작동할 것이라는 것이다. 여기 놀라운 소식이 하나있다 : 클로저 내부에서도 다른 변수를 숨길 수 있다! 방법은 익명 함수(anonymous functio.. 더보기
유한 상태 기계(Finite State Machines, FSM) #2 (2/3) 원문보기 1편보기 3편보기 (이어서 계속) * 전편에 약간 누락된 부분이 있어 전편 마지막부분에 추가하였습니다. (13. 12. 2)델리게이트 그럼 이제 델리게이트를 한번 써보자. .NET에는 2개의 일반적인 델리게이트 타입(Func, Action)이 내장되어 있고, 스스로도 정의할 수 있는데, 첫번째 함수를 예로 들어 보자.public delegate void UnityTriggerFunctionDelegate(Collider collider); 이제 트리거 함수를 가리키는 변수를 정의할 수 있다:UnityTriggerFunctionDelegate _triggerFunc;그리고 다음과 같이 델리게이트에 함수를 할당할 것이다. 123456789void Start(){ _triggerFunc = OnTri.. 더보기
유한 상태 기계(Finite State Machines, FSM) #2 (1/3) 원문보기 간단한 switch기반 FSM에서 강력한 힘을 가진 delegate기반 프레임으로 변경하기 두번째 강좌에 온 것을 환영한다. 사실 첫번째 튜토리얼은 꽤 쉬운 편이였다. 이번 강좌에서는 성능이 좋고, 깔끔한 FSM 프레임워크를 만들어 볼 생각이다. 이 튜토리얼은 FSM 프레임워크를 어떻게 만드는지 보여주는데, 분량이 많다고 너무 걱정하지는 마라. 뒷부분에서는 FSM을 사용해서 어떤식으로 게임을 디자인하는지 보여줄 것이다. 이런 상황은 노트북을 살때, 샐러리맨이 다음과 같이 말하는 것과 같다."좋아요, 제가 CPU를 만드는데 사용된 실리콘 동판화 프로세스를 설명해드리죠. 걱정마세요 딱 1시간이면 충분합니다"첫번째 튜토리얼 이후에, 이 튜토리얼은 많이 발전되었다. 대충 느낌을 파악하기 위해서 비디오를.. 더보기
유한 상태 기계(Finite State Machines, FSM) #1 (2/3) 원문은 이곳에서 보실수 있습니다. 내용이 길어 총 3편으로 나눠서 올리겠습니다. *번역을 하면서 이해가 잘되지 않은 부분은 원문과 같이 배치하였습니다. (1편에 이어서 계속) 유한 상태 기계의 타입 많은 사람들이 알다시피, 유한 상태 기계를 만드는 것을 도와주는 많은 그래픽 툴이 있다. - 이 튜토리얼은 코드 기반의 FSM에 대한 것이다. 만약 그래픽 툴을 사용하고 싶다면, PlayMaker 또는 그외 경쟁사 제품을 확인해봐라. - 하지만 그래픽 툴을 이용하는 것은 스스로 코드를 작성하는 것보다 훨씬 더 많은 제약이 존재한다. 여기에는 2가지 형태의 코드 기반 FSM이 있다. Discoverable FSM/On Demand FSM 가끔씩, 특별한 목적으로 특정 시간에, 어떤 대상의 상태만 알면 되는 경우.. 더보기
Space Shooter AI(우주 발사체 인공지능) - 3 (마지막) 원문은 이곳에서 보실수 있습니다. 내용이 길어 총 3편으로 나눠서 올리겠습니다. 본문에서 프로젝트 파일을 다운받아서 같이 따라하시면 더 이해가 쉽습니다.:) 숨바꼭질 (first FSM) 우리는 여기서 유한-상태-기계(FSM)이라는 새로운 단어를 소개하려고 한다. 이 화려한 단어 뒤에 있는 것은 무엇인가? 다른 행동 또는 주변 환경에 따른 행동의 집합이다. 이는 당신의 NPC가 자신의 상태와 주변의 환경에 대해서 행동을 수행하고 있다는 것을 의미한다. 여기 이 주제에 대한 상급 튜토리얼이 있지만, 명심해라! 그것은 상급이다. (역자 주: 해보시면 쉽습니다 ^^) 적 우주선에 대해서, 자신을 보호하기 위해 바위 뒤로 숨으면서, 계속 앞으로 나아가는 간단한 FSM을 만들 것이다. 코드로 이동하기 전에, 항상.. 더보기