▣ EnhancedInput 입력 Context와 InputAction을 생성합니다.
▣ Project Settings -> Input -> Default Classess에 EnhancedInput과 Component를 설정했는지 확인합니다.
그리고 플레이어 C++ 코드를 불러옵니다.
▣ 솔루션 탐색기에서 Source폴더에 프로젝트폴더에 프로젝트이름. Build.cs를 찾아서 PublicDependencyModuleNames.AddRange()함수코드에 "EnhancedInput"을 추가하고 저장합니다.
▣ 그리고 플레이어 캐릭터 C++에. h 헤더로 가서 #Include "InputActionvalue.h"를 추가합니다.
이때 빨간 줄로 오류가 나오는 경우가 있습니다. 저장 후
▣ 프로젝트 경로로 가서 프로젝트 exe에서 오른쪽마우스를 클릭 후 generate visual studio project files을 클릭하여
비주얼 스튜디오 프로젝트 파일 생성을 합니다. 그리고 다시 c++로 들어가면 오류가 해결됩니다.
▣ InputMapping과 InputAction에 관한 변수 및 함수를 선언합니다.
함수를 선언하면 오류가 나오는데 이때 함수이름을 클릭하고 Alt + Enter키를 눌러. cpp에 함수를 정의하고 저장합니다.
▣. cpp로 가서 필요한 3개의 헤더를 추가합니다.
▣ . h에서 선언했던 변수에 Content에 있는 3개 Context, Action Input 경로를 저장 후 위에 코드처럼 각각 변수에 정의합니다.
▣ 그리고 Event BeginPlay에서 블루프린트처럼 플레이어 컨트롤러를 캐스팅하고 SubSystem과 Input Mapping Context를 연결하는 코드를 작성합니다.
▣ UenhancedInputComponent를 캐스팅하고 바인딩하는 코드를 완성합니다.
▣ 그리고 각각 함수마다 입력 매개변수(FInputActionValue& Value)를 이용하여 위에 블루프린트처럼 이동 및 마우스 회전 코드를 작성하고 저장합니다.
https://docs.unrealengine.com/4.27/en-US/API/Runtime/Core/Math/FRotationMatrix/
https://docs.unrealengine.com/4.27/en-US/API/Runtime/Core/Math/FMatrix/GetUnitAxis/
▣ 빌드 후 플레이를 해보면 이동하고 마우스로 회전하는 걸 확인할 수 있습니다.
UObject : U
AActor : A
State : S
Template class : T
순수 클래스, 구조체, Fantastic : F
▣ 마우스 위 아래 회전에 대한 부분은 SpringArm을 접근해서 Use Pawn Control Rotation을 True로 하는 코드를 적용합니다.
'[ Unreal5 ] > - 언리얼엔진5 실습' 카테고리의 다른 글
언리얼엔진5 c++ AnimInstance Montage 구르기 (1) | 2024.04.18 |
---|---|
언리얼엔진5 c++ Animation(move, jump) (0) | 2024.04.17 |
언리얼엔진5 c++ Camera SpringArm (0) | 2024.04.14 |
언리얼엔진5 c++ SkeletalMesh 설정 (0) | 2024.04.14 |
언리얼엔진5 UMG 불투명 애니메이션 (0) | 2024.04.12 |
댓글