添加一个相机抖动变量
class UCameraShakeBase; UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "VFX") TSubclassOf<UCameraShakeBase> CameraShake; void PlayCameraShake();
GetOwner():获取组件的owner
GetController<>():获取控制器
StartCameraShake():播放抖动函数
#include "GameFramework/Pawn.h" #include "GameFramework/Controller.h" #include "Camera/CameraShakeBase.h" void USTUHealthComponent::PlayCameraShake() { const APawn* Player = Cast<APawn>(GetOwner()); if (!Player) { return; } const APlayerController* Controller = Player->GetController<APlayerController>(); if (!Controller || !Controller->PlayerCameraManager) { return; } Controller->PlayerCameraManager->StartCameraShake(CameraShake); }
在蓝图中创建一个抖动相机蓝图类MatineeCameraShake
在蓝图中设置相机对应的抖动参数
如果是使用蓝图实现的话:
获得相机管理器 :
UEC++学习(九)相机抖动
于 2024-01-26 17:33:59 首次发布