게임 개발/이득우의 언리얼 C++ (14) 썸네일형 리스트형 [이득우의 언리얼 C++ 게임개발의 정석] #7. 애니메이션 시스템의 설계 애니메이션 블루프린트의 기반을 이루는 '애님 인스턴스'클래스를 C++로 제작하고애님 인스턴스 클래스의 데이터를 기반으로 캐릭터가 애니메이션을 체계적으로 재생할 수 있도록스테이트 머신에 기반한 애니메이션 시스템 제작 방법. 애니메이션 블루프린트 = '애님 그래프' + '애님 인스턴스'애님 인스턴스 : 스켈레탈 메시를 소유하는 폰의 정보를 받아 애님 그래프가 참조할 데이터 제공.애님 그래프 : 애님 인스턴스의 변수 값에 따라 변화하는 애니메이션 시스템 설계하는 공간.※ C++로 애님 인스턴스를 제작 → 폰의 현재 속력을 애님 인스턴스에 저장 → 이 값에 따라 '애님 그래프'에서는 IDLE 혹은 RUN 애니메이션 재생하도록 해보자AnimInstance를 부모로 하는 ABAnimInstance라는 c++ 클래스.. [이득우의 언리얼 C++ 게임개발의 정석] #6. 캐릭터의 제작과 컨트롤 인간형 캐릭터를 효과적으로 제작하기 위해 언리얼 엔진이 제공하는 캐릭터 모델을 학습하고,이를 기반으로 움직이는 캐릭터를 제작한다.카메라를 자유자재로 설정하기 위해 컨트롤 회전에 대한 개념을 익힌다.. 캐릭터 모델캐릭터 에셋을 사용해 인간형 '폰'을 만들 수도 있지만, '캐릭터' 모델을 사용해서 만들 수도 있다. 'ABCharacter" 클래스 생성→ACharacter라는 클래스 상속받고 있음→ACharacter는 APawn 클래스를 상속받고 있음→둘 다 동일하게 Capsule 컴포넌트, SkeletalMesh 컴포넌트, CharacterMovement 컴포넌트를 사용함 ACharacter 클래스는 GetCapsuleComponent, GetMesh, GetCharacterMovement 함수를 제공한다... [이득우의 언리얼 C++ 게임개발의 정석] #5. 폰의 제작과 조작 폰을 조작하기 위해 프로젝트의 입력을 설정하고,입력 값을 폰의 움직임으로 변환하는 폰 무브먼트 컴포넌트를 사용한다.애니메이션 블루프린트를 사용해 애니메이션을 불어넣는 법을 학습한다.. 폰의 구성 요소폰은 여러 가지 형태가 될 수 있지만, 여기서는 인간형 폰을 제작한다. ※인간형 폰을 제작하기 위해 고려할 요소들시각적 요소 : 스켈레탈 메시충돌 요소 : 캡슐 컴포넌트움직임 요소 : 폰 무브먼트 컴포넌트내비게이션 : 스스로 길 찾기 기능카메라 출력 : 폰을 화면에 전송마켓플레이스에서 임포트한 에셋을 추가하고 C++ 코드를 사용해 폰을 제작한다. 위의 요소를 바탕으로 5개의 컴포넌트를 사용한다.SkeletalMesh (시각적 요소) Capsule (충돌 요소) - 움직임을 담당할 예정이므로 루트 컴포넌트로 설.. [이득우의 언리얼 C++ 게임개발의 정석] #4. 게임플레이 프레임워크 게임이 시작되려면 게임의 규칙, 플레이어, 플레이어가 조종하는 액터가 있어야 한다.이는 각각 게임 모드, 플레이어 컨트롤러, 폰에 대응한다.이 3가지 액터를 직접 제작하고 학습해 보자.. 게임 모드직접 게임 모드와 폰을 제작&적용해 보자. (ABGameMode, ABPawn) - 1. 우리가 제작한 게임모드 적용하기GameModeBase 클래스를 부모로 하는, Pawn 클래스를 부모로 하는 새로운 C++ 클래스를 생성한다.→ 툴바의 '창' - '월드 세팅' 윈도우를 열고, Game Mode 섹션에 있는 GameMode Override 항목에서 ABGameMode 선택. - 2. 우리가 제작한 폰 적용하기정의 파일에 생성자를 구현함(AABGameMode)→ 게임 모드의 DefaultPawn 속성에 우리가.. [이득우의 언리얼 C++ 게임개발의 정석] #3. 움직이는 액터의 제작 1. 프로그래밍 환경을 편리하게 만들어줄 매크로를 설정하고,이를 사용해 게임에서 액터가 어떻게 생성되고, 액터에서 어떤 이벤트가 발생하는지 확인해 본다.2. 로직을 구현해 움직임을 부여하기 / 로직 없이 무브먼트 컴포넌트로 움직임 부여하기 학습 . 로깅 환경의 설정움직이는 액터를 제작하려면 액터의 생성 과정을 알아야 함 → 중간중간 로그를 띄우게 하여 프로세스를 엿볼 수 있다. - 1. 출력 로그 윈도우 : 'UE_LOG' - (출력 로그에서 확인 가능)더보기UE_LOG(카테고리, 로깅 수준, 형식 문자열, 인자... )카테고리 : 로그를 분류하기 위해로깅 수준 : 에러(Error) = 빨간색, 경고(Warning) = 노란색, 메시지(Log) = 흰색→ 에디터의 출력 로그 윈도우에는 필터 기능이 있어.. [이득우의 언리얼 C++ 게임개발의 정석] #2. 액터의 설계 . 언리얼 콘텐츠의 구성 요소 - 1. 월드 : 게임 콘텐츠를 구동하기 위해 필요한 필수적인 환경을 의미한다. ex) 공간, 시간, 물리 법칙, 렌더링... - 2. 액터 : 콘텐츠를 구성하는 최소 단위의 물체 / '배우'처럼 자신의 역할을 수행하는 오브젝트.※구성요소이름유형 : 액터의 역할 / 액터의 클래스 이름트랜스폼프로퍼티 : 액터에 설정된 속성 값.게임 로직 : 코드 - 3. 레벨 : 스테이지 - 4. 컴포넌트 : 액터가 가질 수 있는 다양한 기능들을 규격화한 것.스태틱메시 컴포넌트 : 애니메이션이 없는 모델링 에셋 / 시각적, 물리적 기능 제공.스켈레탈메시 컴포넌트 : 애니메이션이 있는 모델링 에셋 / 시각적, 물리적 기능과 애니메이션 제공.콜리전 컴.. 이전 1 2 다음