UE5滚轮实现第一和第三视角的切换

在UE5中实现第一人称视角(First-Person Perspective, FPP)和第三人称视角(Third-Person Perspective, TPP)之间的切换是一个常见的功能。使用鼠标滚轮来切换这两种视角是一种直观且用户友好的方式。下面是一个简单的指南,介绍如何在UE5中使用蓝图来实现这个功能。

步骤概览

  1. **创建两个摄像机**:一个用于第一人称视角,一个用于第三人称视角。

  2. **设置摄像机切换逻辑**:当玩家滚动鼠标滚轮时,切换当前激活的摄像机。

  3. **绑定输入事件**:将摄像机切换逻辑与鼠标滚轮输入事件绑定。

实现步骤

1. 创建两个摄像机

首先,您需要在场景中创建两个摄像机Actor,一个用于第一人称视角,另一个用于第三人称视角。

  • **第一人称摄像机**:通常位于玩家角色的头部位置。

  • **第三人称摄像机**:通常位于玩家角色的背后,以一定的距离和角度跟随玩家角色。

2. 设置摄像机切换逻辑

接下来,您需要在蓝图中设置逻辑,使得当玩家滚动鼠标滚轮时,当前激活的摄像机会切换。

  1. **创建一个PlayerController蓝图**:
  • 在内容浏览器中创建一个新的蓝图类,选择`PlayerController`作为父类。

  • 打开蓝图编辑器。

  1. **设置变量**:
  • 添加两个`SceneCaptureComponent2D`类型的变量,分别命名为`FirstPersonCamera`和`ThirdPersonCamera`。

  • 添加一个布尔变量`bIsFirstPerson`,用于记录当前是否处于第一人称视角。

  1. **设置初始状态**:
  • 在`Event BeginPlay`节点中设置`bIsFirstPerson`为`true`,并启用第一人称摄像机,禁用第三人称摄像机。
  1. **实现切换逻辑**:
  • 创建一个新的事件图表,命名为`SwitchCamera`。

  • 在`SwitchCamera`事件图表中,根据`bIsFirstPerson`的值切换两个摄像机的状态,并反转`bIsFirstPerson`的值。

```pseudo

SwitchCamera:

If bIsFirstPerson is true:

Enable FirstPersonCamera

Disable ThirdPersonCamera

Set bIsFirstPerson to false

Else:

Disable FirstPersonCamera

Enable ThirdPersonCamera

Set bIsFirstPerson to true

```

3. 绑定输入事件

最后,您需要将摄像机切换逻辑与鼠标滚轮输入事件绑定。

  1. **添加输入映射**:
  • 在项目设置中添加一个新的动作映射,例如命名为`SwitchPerspective`。

  • 将此动作映射绑定到鼠标滚轮的上下滚动。

  1. **绑定输入事件**:
  • 在`PlayerController`蓝图中,找到`Event Tick`节点。

  • 使用`Input Action Value`节点检查`SwitchPerspective`动作是否被触发。

  • 如果动作被触发,则调用`SwitchCamera`函数。

```pseudo

Event Tick:

If Input Action Value "SwitchPerspective" is triggered:

Call SwitchCamera

```

示例代码

这是一个简化的蓝图示例,展示如何使用鼠标滚轮来切换第一人称和第三人称视角:

  1. **创建PlayerController蓝图**:
  • 创建一个新的`PlayerController`蓝图。
  1. **设置变量**:
  • 在蓝图中添加两个`SceneCaptureComponent2D`类型的变量。

  • 添加一个布尔变量`bIsFirstPerson`。

  1. **设置初始状态**:
  • 在`Event BeginPlay`中初始化`bIsFirstPerson`为`true`。
  1. **实现切换逻辑**:
  • 创建`SwitchCamera`事件图表,并实现切换逻辑。
  1. **绑定输入事件**:
  • 在`Event Tick`中检查输入,并调用`SwitchCamera`。

输入映射

在项目的`输入`设置中,添加一个新的动作映射`SwitchPerspective`,并将其绑定到鼠标滚轮的上下滚动。

通过以上步骤,您可以在UE5中实现使用鼠标滚轮来切换第一人称和第三人称视角的功能。如果您需要更详细的代码或蓝图实现,请告诉我。

相关推荐
ricky6756 天前
[Linux]Linux系统的20个实用命令详解
ue5
AA陈超7 天前
虚幻引擎5 GAS开发俯视角RPG游戏 P05-01.创建游戏玩法标签
c++·游戏·ue5·游戏引擎·虚幻
reddingtons8 天前
场景美术师的“无限画板”:UE5中非破坏性的材质混合(Material Blending)工作流
ue5·材质·设计师·技术美术·游戏策划·游戏美术·substance
m0_552200828 天前
《UE5_C++多人TPS完整教程》学习笔记61 ——《P62 武器开火特效(Fire Weapon Effects)》
c++·游戏·ue5
努力的小钟8 天前
UE5 GAS GameAbility源码解析 EndAbility
ue5
AA陈超8 天前
虚幻引擎5 GAS开发俯视角RPG游戏 P05-04 使用效果应用游戏标签
c++·游戏·ue5·游戏引擎·虚幻
zhangzhangkeji8 天前
UE5 测量 -1,长度测量:P2制作定位球与定位线,P3制作射线检测节点,P4在鼠标位置生成定位球
ue5
AA陈超10 天前
虚幻引擎UE5专用服务器游戏开发-33 在上半身播放组合蒙太奇
c++·游戏·ue5·游戏引擎·虚幻
zhangzhangkeji10 天前
cesium126,230130,Editing Tileset Materials - 0,编辑瓦片集材质,官方教程:
ue5
zhangzhangkeji10 天前
cesium126,230131,区域局部染色:赋值材质实例,建立“材质图层混合”文件,建立裁剪多边形,并应用自己的材质实例
ue5