UE4视角切换节点,Possess和Set View Target With Blend的区别

    UE4中视角切换有好几种方法可以实现。第一种就是使用多个摄像机摆好位置,摄像机之间互相切换,缺陷是镜头直接跳转。今天要说得是一个摄像机实现镜头的切换,镜头切换主要是Possess和Set View Target With Blend两个节点,接下来说说他们的区别。
    首先,我们需要了解UE4中的两种相机,一种是普通相机
    ![在这里插入图片描述](https://img-blog.****img.cn/20181029145826117.?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1N4eDkzMDkyMw==,size_27,color_FFFFFF,t_70)

一种是新建一个Pawn蓝图类,添加Capsule组件,SpringArm组件,Camera组件,他们的父子关系如图
UE4视角切换节点,Possess和Set View Target With Blend的区别
Capsule,代表相机远点,SpringArm是相机臂,可以通过调节Target Arm Lengthad的数值来改变Camera到Capsule的距离。
下面来说说两个节点的区别了
1、普通Camera只能使用Set View Target with Blend,无法使用Possess,Possess只能是继承自Pawn类的相机才能连接
UE4视角切换节点,Possess和Set View Target With Blend的区别
UE4视角切换节点,Possess和Set View Target With Blend的区别

2、如何在切换视角时,改变位置和角度以及相机臂
比如普通Camera只能改变位置与角度,如图,Set View Target with Blend写在SetActorLocationAndRotation前面或者后面都可以。
UE4视角切换节点,Possess和Set View Target With Blend的区别

如果想实现位置或者角度的缓慢变化,就需要用到Lerp节点做插值变化,如图
UE4视角切换节点,Possess和Set View Target With Blend的区别

Pawn类的相机既可以使用Set View Target with Blend也可以使用Possess,这里说一下使用Possess切换时的蓝图写法,因为带有相机臂,所以移动时还会带有相机臂的变化,直接变化这边就不说了,重点说一下插值的写法
UE4视角切换节点,Possess和Set View Target With Blend的区别

这里要注意,Posssess节点一定要写在变化的后面,不然镜头无法切换,各个节点的目标也不要忘记连上。
使用Possess的缺陷是什么,就是在Matinee中,使用Possess的镜头,移动时镜头角度不会随着K好的帧而变化,她的镜头是保持不变的。优点是,可以在Pawn类中写蓝图,后面在说漫游时会更详细说明。
通常情况下,Set View Target with Blend和Possess都可以达到镜头切换的效果,具体的使用看你的实际需要