视角同步NewViewTarget

SetViewTargetwithBlen说明:

http://api.unrealengine.com/INT/BlueprintAPI/Game/Player/SetViewTargetwithBlend/?tdsourcetag=s_pcqq_aiomsg

 

一、创建一个空项目

二、设置输入映射

  

三、创建一个名为“MyCameraActor”的Character

  

  保持不变。

  

四、在关卡蓝图

  

  

  注意Set View Target with Blend节点要取消情景关联才会显示出来。

五、设置游戏窗口大小

  

六、运行游戏

  

七、在打开的第一个窗口(服务器端)游戏窗口中按v键,按Shift+F1释放鼠标,激活第二个游戏窗口(游戏客户端),随意走动和上下左右看看,第一个窗口(服务器端)的画面也会跟着同步。

  

 八、如果给MyCharacter添加一个Camera,则无论客户端或者服务器端游戏窗口都可以按下V键,然后会自动同步另外一个游戏窗口的画面,左右看和移动都可以同步,但是无法同步往上往下看,原因未知!

九、SetViewTargetWithBlend用法(C++)

const float TimeBetweenCameraChanges = 2.0f;  
const float SmoothBlendTime = 0.75f;  
TimeToNextCameraChange -= DeltaTime;  
if (TimeToNextCameraChange <= 0.0f)  
{  
    TimeToNextCameraChange += TimeBetweenCameraChanges;  
  
    // Find the actor that handles control for the local player.  
    APlayerController* OurPlayerController = UGameplayStatics::GetPlayerController(this, 0);  
    if (OurPlayerController)  
    {  
        if ((OurPlayerController->GetViewTarget() != CameraOne) && (CameraOne != nullptr))  
        {  
            // Cut instantly to camera one.  
            OurPlayerController->SetViewTarget(CameraOne);  
        }  
        else if ((OurPlayerController->GetViewTarget() != CameraTwo) && (CameraTwo != nullptr))  
        {  
            // Blend smoothly to camera two.  
            OurPlayerController->SetViewTargetWithBlend(CameraTwo, SmoothBlendTime);  
        }  
    }  
}  
View Code

 

posted on 2019-01-02 20:37  一粒沙  阅读(1022)  评论(0编辑  收藏  举报