사용자 입력 값 매핑하기
높이가 일정한 기본 점프 구현하기
Character 클래스에 Jump 함수가 만들어져있기 때문에, 함수를 따로 만들지 않고 바로 바인딩해주면 된다.
void APlayer_Base::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
Super::SetupPlayerInputComponent(PlayerInputComponent);
PlayerInputComponent->BindAction("Jump", EInputEvent::IE_Pressed, this, &ACharacter::Jump);
}
신경써야 할 설정 값은 많지 않지만, 알아두면 좋은 것들.
// 캐릭터 생성자에 추가하면 되는 코드.
GetCharacterMovement()->JumpZVelocity = 500.0f; // 점프 높이.
JumpMaxCount = 1; // 한번에 점프 가능한 횟수. 1이 기본 값.
점프 키를 누르는 시간에 따라 점프 높이를 다르게 하기
이거는 함수가 구현되어있지 않아서 따로 함수를 만들어야 한다.
스페이스를 누를 때는 StartJump(), 뗄 때는 StopJump() 를 실행하게 만든다.
bPressedJump로 점프 구현이 되어있기 때문에, true false를 바꿔주는 것만으로 점프가 실행된다.
public:
virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override;
public:
UFUNCTION()
void StartJump();
UFUNCTION()
void StopJump();
void APlayer_Base::StartJump()
{
bPressedJump = true;
}
void APlayer_Base::StopJump()
{
bPressedJump = false;
}
누르고 있는 최대 몇 초 동안 점프를 유지할 건지.
// 캐릭터 생성자에 추가하면 되는 코드.
JumpMaxHoldTime = 3.0f;
구현 결과
점프 높이가 달라지게 구현은 해보았지만, 내 게임에선 그냥 일정 높이로 점프하도록 만들 것이다.
'Unreal' 카테고리의 다른 글
[Unreal C++] UMG로 타이틀 UI 제작하고, 띄우기 (0) | 2021.05.31 |
---|---|
[Unreal C++] 캐릭터 점프 애니메이션 구현하기 (0) | 2021.05.28 |
[무제 RPG] 캐릭터 기본 이동 (0) | 2021.05.28 |
[Unreal C++] 캐릭터 이동 애니메이션 구현하기 (0) | 2021.05.28 |
[Unreal C++] 캐릭터 이동과 카메라 회전 구현하기 (0) | 2021.05.27 |