视角同步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); } } }
浙公网安备 33010602011771号