添加碰撞时的相机抖动配置

This commit is contained in:
997146918 2025-07-28 11:26:18 +08:00
parent ec20d16846
commit 76c64d8635
5 changed files with 10 additions and 1 deletions

View File

@ -1,6 +1,6 @@
[/Script/EngineSettings.GameMapsSettings]
GameDefaultMap=/Game/TopDown/Maps/TopDownMap.TopDownMap
EditorStartupMap=/Game/Maps/Dabaza.Dabaza
EditorStartupMap=/Game/ART/Map/fishing.fishing
GlobalDefaultGameMode="/Script/ProjectFish.ProjectFishGameMode"
[/Script/Engine.RendererSettings]

View File

@ -274,4 +274,7 @@ struct FShipDataConfig
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Camera|Collision", meta = (ForceUnits = "cm", ToolTip = "与角色的最小距离"))
float CameraMinDistance = 500.0f;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Camera|Collision", meta = (ForceUnits = "cm", ToolTip = "碰撞时的相机抖动类型"))
TSubclassOf<UCameraShakeBase> CollisionCameraShakeClass;
};

View File

@ -120,6 +120,12 @@ void AShipbase::OnOverlapWall(UPrimitiveComponent* HitComp, AActor* OtherActor,
{
LaunchCharacter(GetCharacterMovement()->GetLastUpdateVelocity()*-1.f*ShipData.BounceFactor,
true, true);
//Play Camera Shake
if (APlayerController* PC = GetController<APlayerController>()) {
if (IsValid(ShipData.CollisionCameraShakeClass)) {
PC->PlayerCameraManager->StartCameraShake(ShipData.CollisionCameraShakeClass, 1.0f);
}
}
}
}