728x90
반응형
캐릭터조작
게임에 있어서 캐릭터 조작은 매우 필수적인 요소이다. 만약 게임안에서 캐릭터를 조작할수 없다면, 그것은 게임이라고 할 수 없을 것이다. UE에서 캐릭터 조작은 크게 BindAction과 BindAxis로 나눌수있다.
BindAxis
BindAxis는 UInputComponent의 멤버함수로 플레이어가 키를입력하면 이벤트가 발생하고 그 즉시, 키값을 바인딩한다. 키 값이 처리되면 스택에서 즉시 처리가 된다. 인스턴스가 포인터역할로써 호출될 수 있는 구조이다.
1.키보드 매핑
먼저 엔진에서 매핑할 값을 지정해준다.

PlayerInputComponent->BindAxis(TEXT("Move_Forward"), this,&AShooterCharacter::MoveFoward);
다음으로 플레이어가 키를 눌렀을때 호출해줄 함수를 바인딩해준다.
void AShooterCharacter::MoveFoward(float AxisValue)
{
AddMovementInput(GetActorForwardVector()*AxisValue);
}
마지막으로 호출되어서 수행될 함수를 정의해준다.
2.마우스 매핑
키보드때와 마찬가지로 매핑할 값을 지정해준다.

PlayerInputComponent->BindAxis(TEXT("Look_up"), this,&APawn::AddControllerPitchInput);
키보드와 다른점은 Pawn에서 해당 함수가 있으므로 해당 함수를 사용해준다.
BindAction
마찬가지로 매핑할 값을 지정한다.

PlayerInputComponent->BindAction(TEXT("Jump"), EInputEvent::IE_Pressed, this, &ACharacter::Jump);
Axis와 다른점은 EInputEvent를 사용한다는 점이다. EInput은 IE_Pressed와 IE_Released 두가지가 존재한다.
캐릭터 점프는 마우스때와 마찬가지로 Character안에 Jump함수가 있으므로 새로 만들기 보다는 해당 함수를 사용하면 보다 간편하다.
728x90
반응형
'UE4 Simple FPS > P_Movement' 카테고리의 다른 글
| Simple FPS/P_Movement) Pawn vs Character (0) | 2022.05.09 |
|---|
댓글