ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 카메라 이동, 회전
    Game Programming/언리얼 2023. 9. 29. 13:38

    Axis Mapping에서 W,S,D,A 의 방향을 설정한다.

    void AMyCharacter::MoveForward(float Value)
    {
    	if ((Controller != nullptr) && Value != 0.0f)
    	{
    		const FRotator Rotation{ Controller->GetControlRotation() };
    		const FRotator YawRotation{ 0.f, Rotation.Yaw, 0 };
    		const FVector Direction{ FRotationMatrix{YawRotation }.GetUnitAxis(EAxis::X) };
    		AddMovementInput(Direction, Value);
    	}
    }
    
    void AMyCharacter::MoveRight(float Value)
    {
    	if ((Controller != nullptr) && Value != 0.0f)
    	{
    		const FRotator Rotation{ Controller->GetControlRotation() };
    		const FRotator YawRotation{ 0.f, Rotation.Yaw, 0 };
    		const FVector Direction{ FRotationMatrix{YawRotation }.GetUnitAxis(EAxis::Y) };
    		AddMovementInput(Direction, Value);
    	}
    }

    케릭터 회전을 가져와, FRotator를 생성자로 받는 Matrix를 생성 해 Right, Up, Look을 가져 올 수 있다.

    // Called to bind functionality to input
    void AMyCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
    {
    	Super::SetupPlayerInputComponent(PlayerInputComponent);
    
    	check(PlayerInputComponent);
    
    	PlayerInputComponent->BindAxis("MoveForward", this, &AMyCharacter::MoveForward);
    	PlayerInputComponent->BindAxis("MoveRight", this, &AMyCharacter::MoveRight);
    }

    SetupPlayerInputComponent함수에서 PlayerInputComponent가  nullptr인지 체크한 후 BindAxis 함수에 언리얼 에디터에서 설정한 키를 맵핑 시킨다.

    Axis Mapping에서 Right,Left,Up,Down 의 방향을 설정한다.

    void AMyCharacter::TrunAtRate(float Rate)
    {
    	AddControllerYawInput(Rate * BaseTurnRate * GetWorld()->GetDeltaSeconds());
    }
    
    void AMyCharacter::LookUpAtRate(float Rate)
    {
    	AddControllerPitchInput(Rate * BaseTurnRate * GetWorld()->GetDeltaSeconds());
    }

    Yaw 회전 값과 Pitch 회전을 조절한다. 

    키 입력에 따라 Rate 값이 다르게 들어온다.

    AMyCharacter::AMyCharacter()
    	:BaseTurnRate(45.f)
    	,BaseLookUpRate(45.f)

    생성자에서 회젼량을 초기화한다.

    'Game Programming > 언리얼' 카테고리의 다른 글

    애니메이션 인스턴스 추가  (0) 2023.09.29
    케릭터 점프, 마우스 회전  (0) 2023.09.29
    카메라 스프링 암  (0) 2023.09.26
    케릭터 클래스  (0) 2023.09.26
    프로젝트 세팅  (1) 2023.09.26
Designed by Tistory.