2024/01/25 3
-
4.7 체스 프로그램 디자인하기 간단한 체스 프로그램을 대상으로 하여 C++프로그램을 체계적으로 디자인해보자. 전체 디자인 절차를 개괄적으로 이해하기 위해 우선 먼저 그대로 진행해보고 모르는 부분은 따로 찾아보는 것도 좋은 방법이다. 4.7.1 요구사항 디자인에 들어가기 전에 프로그램의 기능과 성능에 대해 요구되는 조건을 명확하게 정리하는 것이 중요하다. 이상적으로는 이런 요구 조건은 요구 사항 명세서라는 이름으로 문서화되어 있어야 한다. 체스 프로그램에 대한 요구 사항은 다음과 같다. ( 실제라면 더 자세하고 개수도 많을 것 이다.) 프로그램은 체스의 표준 룰을 지원한다. 프로그램은 두 명의 플레이어를 지원한다. 인공지능 컴퓨터 플레이어는 지원하지 않는다. 프로그램은 텍스트 기반 인터페이스를 지원한다...
-
4.6 패턴과 테크닉을 이용한 디자인 C++언어를 배우는 것과 훌륭한 C++ 프로그래머가 되는 것은 매우 다른 일이다. 책상에 앉아서 C++표준을 읽고 모든 부분을 암기했다면 아마 누구보다도 C++를 잘 알게 될 것이다. 하지만, 다른사람의 코드를 보고, 자신이 직접 프로그램을 개발해보지 못했다면 좋은 프로그래머가 되기 어렵다. 왜냐하면 C++문법은 저수준에서 언어가 어떤 기능을 할 수 있는지 설명해주지만 각 기능이 어떤 방식으로 사용되어야 하는지 설명해주지 않기 떄문이다. C++언어를 사용하면서 경험을 쌓을수록, C++ 프로그래머는 언어의 기능을 사용하는데 있어 자신만의 방식을 구축하게 된다. C++커뮤니티에서도 큰 맥락에서 언어 활용 방식에 대해 표준적, 비표준적 방식을 구축해놓았다. 디자인 테크닉과..
-
언리얼에서 몽타주를 활용하여, 에니메이션의 하체와 상체를 분리적용 해보자. 우선 ABP의 클래스에 들어가서 ABP를 조정해보자. ABP에서 Jumping을 위와같은, 캐시 포즈 새로 저장을 통해 변수처럼 이용할 것이다. 해당 방법을 통해 필요할 때 마다 에니메이션을 호출할 수 있게 된다. 본마다 레이어 블렌딩 언리얼 에서는 에니메이션을 필요한 부분만 블렌딩 하여 사용할 수 있게 해놓았다. 이걸 위해서 먼저 뼈대를 살펴보자. 캐릭터의 뼈대 설계이다. 뼈대가 각 Root부터 밑까지 이어져 상속되어 있는것 을 볼 수 있다. 본마다 레이어 블렌딩을 통해, 가장 상위에서 블랜딩 될 애니메이션의 부모를 설정할 수 있다. 즉, 내가 설정된 본을 상속받는 뼈대만 애니메이션을 적용하여 변경한다는 의미 이다. 다시 ABP..