【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转

效果

步骤

首先创建了4个Actor蓝图类

【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转_第1张图片

每个蓝图类内只拥有一个摄像机组件

【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转_第2张图片

将每个actor蓝图类摆放到场景的合适位置

【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转_第3张图片

在关卡蓝图中创建自定义事件,当该事件触发时切换摄像机

【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转_第4张图片
【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转_第5张图片

创建一个控件蓝图,在控件蓝图中创建如下5个按钮,并创建点击事件。按钮分别表示车上的4个镜头和车外自由移动的Pawn

【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转_第6张图片

按钮点击事件如下

【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转_第7张图片

此时效果如下:

如果我们希望切换到其它镜头时,能够同时控制该镜头的旋转从而调整视角,就可以做如下操作:

首先我将车内布置的4个摄像机由“Actor”类改为“Pawn”类

【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转_第8张图片

同样的,每个Pawn只有一个摄像机组件

【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转_第9张图片

在事件图表中添加如下自定义事件逻辑,当该事件触发时控制Pawn本身进行相对旋转

【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转_第10张图片

然后每一帧都调用上面的自定义事件,将鼠标的X、Y值传入自定义事件

【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转_第11张图片

在关卡蓝图中,当触发“进入主驾驶”这个自定义事件后,就获得Pawn的控制权

【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转_第12张图片
【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转_第13张图片

然后任然是通过控件蓝图的按钮点击来触发关卡蓝图中的“进入主驾驶”等自定义事件

【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转_第14张图片
【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转_第15张图片

最终效果如文章开头所示。

你可能感兴趣的:(虚幻4,ue4)