码迷,mamicode.com
首页 > 其他好文 > 详细

Setup Post-mission Camera

时间:2019-02-08 14:34:53      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:按钮   else   rop   更改   移动   edit   ntc   post   驾驶   

编辑BP_GameMode

技术图片

新建Actor命名为BP_SpectatingViewpoint

添加摄像机

技术图片

将摄像机调整到合适的位置,右键选择

技术图片

调整到合适的位置,点击这个按钮,退出驾驶模式

技术图片

摄像机已经移动到合适的位置

技术图片

 回到BP_GameMode,在这一位置上设置了摄像机

技术图片

给镜头移动添加慢动作,只需要修改参数

技术图片

将上述逻辑连接断开,将用代码实现

在FPSGameMode头文件中新建变量

protected:
    UPROPERTY(EditDefaultsOnly,Category="Spectating")
    TSubclassOf<AActor> SpectatingViewpointClass;  

在FPSGameMode的Cpp文件中修改CompleteMission函数

void AFPSGameMode::CompleteMission(APawn* InstigatorPawn)
{
    if (InstigatorPawn)
    {
        InstigatorPawn->DisableInput(nullptr);
        if (SpectatingViewpointClass)
        {
            TArray<AActor*> ReturnedActors;
            UGameplayStatics::GetAllActorsOfClass(this, SpectatingViewpointClass, ReturnedActors);
            //找到任何有效actor后,更改目标视角
            if (ReturnedActors.Num() > 0)
            {
                AActor* NewViewTarget = ReturnedActors[0];
                APlayerController* PC = Cast<APlayerController>(InstigatorPawn->GetController());
                if (PC)
                {
                    PC->SetViewTargetWithBlend(NewViewTarget, 0.5f, EViewTargetBlendFunction::VTBlend_Cubic);
                }
            }
        }
        else
        {
            UE_LOG(LogTemp, Warning, TEXT("SpectatingViewpointClass is nullptr"));
        }
    }
    OnMissionComplete(InstigatorPawn);
}

将之前建的变量赋值

技术图片

 

Setup Post-mission Camera

标签:按钮   else   rop   更改   移动   edit   ntc   post   驾驶   

原文地址:https://www.cnblogs.com/suomeimei/p/10356115.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!