-
카메라 흔들리는 효과Game Programming/언리얼 2023. 10. 11. 16:40
void AMyCharacter::StartFireTimer() { if (bShouldFire) { FireWeapon(); bShouldFire = false; GetWorldTimerManager().SetTimer( AutoFireTimer, this, &AMyCharacter::AutoFireReset, AutomaticFireRate); GetWorldTimerManager().SetTimer( AutoFireLightTimer, this, &AMyCharacter::AutoFireLightOnOff, AutomaticFireLightRate); GetWorldTimerManager().SetTimer( AutoCameraShakeRoll, this, &AMyCharacter::AutoCameraShakeRollFunc, AutoCameraShakeRollRate); } }
왼쪽 마우스를 클릭하면 시작하는 함수에서 동작하는 타이머를 실행했다.
void AMyCharacter::AutoCameraShakeRollFunc() { FRotator rot; double dYaw = FollowCamera->GetRelativeRotation().Yaw; static bool bYaw = false; if (bYaw) rot.Roll = -0.6f; else rot.Roll = 0.6f; bYaw = !bYaw; FollowCamera->SetRelativeRotation(rot); }
타이머 안에서 Roll 축에 대한 회전을 줬다.
음,,,내가 참고하는 게임을 보면 Roll 뿐만 아니라, Yaw에 대해서도 회전을 주는거 같다.
void AMyCharacter::AutoCameraShakeRollFunc() { double dYaw = FollowCamera->GetRelativeRotation().Yaw; static bool bYaw = false; if (bYaw) { rotFiringCameraShake.Roll = -0.6; rotFiringCameraShake.Pitch = 0.6; } else { rotFiringCameraShake.Roll = 0.6; rotFiringCameraShake.Pitch = -0.6; } bYaw = !bYaw; FollowCamera->SetRelativeRotation(rotFiringCameraShake); }
최종 수정 코드 ㅎ
'Game Programming > 언리얼' 카테고리의 다른 글
아이템, 기본 무기 추가 (0) 2023.10.11 점프 애니메이션 추가 (0) 2023.10.11 Cross hair Factor (0) 2023.10.10 Add CrossMultiplier to HUD (0) 2023.10.10 Aiming 애니메이션 추가 (0) 2023.10.09