如果没有找到对焦的Actor,那就保底对焦屏幕正中心的Actor,使用获取玩家摄像机管理器(Get Player Camera Manager)-> 获取摄像机位置(Get Camera Location)当作起点,获取玩家摄像机管理器(Get Player Camera Manager)-> 获取摄像机旋转(Get Camera Rotation)-> 获取向前向量(Get Forward Vector)* 100000.0 当作终点,进...
获取玩家摄像机管理器(Get Player Camera Manager)-> 获取摄像机位置(Get Camera Location),通过寻找查看旋转(Find Look at Rotation)来取到角色位置要朝向摄像机位置的旋转角,最后将该值的Yaw部分设置给NameBoard。注意这里设置的世界旋转(Set World Rotation),而不是相对旋转(Set Relative Rotation),因为角色本身会...
CameraBoom->bDoCollisionTest = false; // 设置为false,弹簧臂将不会与其他碰撞体产生交互 // 创建相机 TopDownCameraComponent = CreateDefaultSubobject<UCameraComponent>(TEXT("TopDownCamera")); //创建相机组件 TopDownCameraComponent->SetupAttachment(CameraBoom, USpringArmComponent::SocketName); //附加到...
FRotator LookAtPlayer = UKismetMathLibrary::RInterpTo(GetControlRotation(), UKismetMathLibrary::FindLookAtRotation(FollowCamera->GetComponentLocation(), LockedEnemy->GetActorLocation())/*寻找查看旋转(摄像机向锁定目标)*/, UGameplayStatics::GetWorldDeltaSeconds(GetWorld())/*获取场景差量(秒)*/, 20...
void ACamera_CPP::CameraFollow(AActor* Tar, float Speed, float MaxDistance) { FVector TarLoc = Tar->GetActorLocation(); FVector SelfLoc = GetActorLocation(); float Dis = FVector::Distance(TarLoc, SelfLoc);//获取相机与目标间的距离 ...
FVector location= UGameplayStatics::GetPlayerCameraManager(InWorld,0)->GetCameraLocation(); FRotator rot= UGameplayStatics::GetPlayerCameraManager(InWorld,0)->GetCameraRotation(); TArray<AActor *>arr_pp; UGameplayStatics::GetAllActorsOfClass(InWorld, APostProcessVolume::StaticClass(), arr_pp)...
FVector EndLocation = BeginLocation + FollowCamera->GetForwardVector() * 1000;//终点位置 TArray<TEnumAsByte<EObjectTypeQuery>> ObjectTypes; ObjectTypes.Add(EObjectTypeQuery::ObjectTypeQuery2);//Pawn TArray<AActor* > IgnoreActors; //参数列表场景可查看同名蓝图节点 ...
FVector EndLocation = StartLocation + PlayerCamera->GetForwardVector() * TraceDistance; //射线的结束点 ``` 3.创建一个用于存储命中结果的变量: ```cpp TArray<FHitResult> HitResults; ``` 4.调用LineTraceMultiByProfile函数进行射线追踪: ```cpp ...
ACameraActor:(内部包含CameraComponent), 控制摄像机位置、旋转和视角。 Actor的创建 创建方式: 1 从磁盘加载(Load From Disk): 用于已经在关卡中的Actor(LoadMap, 关卡流送) 2 在编辑器PIE中运行: Actor从编辑器中复制而来,并非从磁盘中加载。 3 代码生成: 调用 UWorld::SpawnActor(才会有World::OnActorSpa...
震动实例类的基类,由UCameraModifier_CameraShake创建并管理,该类及其派生类充当了一个屏幕震动”执行者“的角色。屏幕震动的具体参数,如震动偏移、镜头位置,FOV的变化等与屏幕震动相关的参数,都会在这个类(派生类)中定义,并随着传入的delta时间而变化,最终通过UpdateAndApplyCameraShake函数传出。