UE5 蓝图学习计划 - Day 7:摄像机与视角控制

news/2025/2/3 8:19:45 标签: ue5, 学习, 虚幻, 虚幻引擎, 虚幻5, unreal engine

在游戏开发中,摄像机视角 是玩家与游戏互动的关键环节。Unreal Engine 5 提供了多种方式来设置摄像机,包括第一人称视角、第三人称视角,以及动态跟随摄像机。在本篇文章中,我们将学习如何在角色蓝图中添加摄像机组件,实现第三人称的自动跟随视角。

理论学习

  1. 摄像机组件(Camera Component)
    • 用于渲染游戏世界的视觉效果。
    • 可以附加到角色或其他 Actor 上,作为玩家的视角。
  2. Spring Arm 组件
    • 用于连接摄像机并控制其位置和旋转。
    • 自动调整摄像机与障碍物之间的距离,避免穿模。
  3. 视角控制的两种方式
    • 绑定摄像机到角色:实现角色的第三人称或第一人称视角。
    • 独立摄像机控制:玩家可以自由调整摄像机角度。

实践任务:添加摄像机并实现跟随视角

目标

  • 在角色蓝图中添加摄像机组件,并实现第三人称视角。
  • 使用鼠标控制摄像机旋转。

步骤 1:添加摄像机组件

  1. 打开上一节创建的 BP_PlayerCharacter(角色蓝图)。

  2. 在组件列表中,添加一个 Spring Arm 组件,上节添加过则忽略添加,直接改属性。

    • 将其设置为 CapsuleComponent 的子节点。

    • 将名称改为 SpringArm。
      在这里插入图片描述

    • 在 Details 面板 中设置参数:

      • Target Arm Length(目标长度):设置为 300。
        在这里插入图片描述

      • Enable Camera Lag(启用摄像机延迟):勾选此项并设置 Camera Lag Speed 为 10。
        在这里插入图片描述

  3. 在 Spring Arm 的子节点中,添加一个 Camera 组件。
    在这里插入图片描述

    • 将名称改为 PlayerCamera。
    • 调整摄像机位置和角度,使其位于角色的上方和后方。
      在这里插入图片描述

步骤 2:设置摄像机旋转控制

  1. 打开项目设置,添加输入。
    在这里插入图片描述

  2. 打开角色蓝图的 Event Graph。

  3. 在事件图中添加以下两个输入事件:

    • Axis Event: Turn(鼠标 X 轴,用于左右旋转)。
      在这里插入图片描述

    • Axis Event: LookUp(鼠标 Y 轴,用于上下旋转)。

  4. 实现以下蓝图逻辑:

    • 将 Turn 的输出连接到 Add Controller Yaw Input 节点。
    • 将 LookUp 的输出连接到 Add Controller Pitch Input 节点。
      在这里插入图片描述

步骤 3:设置 Spring Arm 的旋转规则

  1. 在 Spring Arm 的 Details 面板 中,启用以下选项:

    • Use Pawn Control Rotation:勾选。
      在这里插入图片描述

    • Inherit Pitch/Yaw/Roll:确保 Pitch 和 Yaw 勾选。

    • Do Not Inherit Roll:取消勾选 Roll。
      在这里插入图片描述

  2. 在角色蓝图的根组件(BP_PlayerCharacter)中,禁用以下选项:

    • Use Controller Rotation Yaw:取消勾选。
    • Use Controller Rotation Pitch 和 Roll 保持取消勾选。
      在这里插入图片描述

步骤 4:测试效果

  1. 将 BP_PlayerCharacter 设置为默认玩家角色(参考 Day 6 的方法)。
  2. 点击 Play,进入游戏模式。
  3. 使用鼠标移动:
    • 水平方向旋转角色(Yaw)。
    • 垂直方向调整摄像机视角(Pitch)。
      在这里插入图片描述

注意事项

  1. 摄像机角度限制
    • 为了避免摄像机旋转得过于极端,可以在 Add Controller Pitch Input 节点前添加一个限制节点(Clamp Angle),设置上下旋转的角度范围。
  2. 摄像机延迟优化
    • 根据游戏需求调整 Spring Arm 的 Camera Lag Speed 值,找到适合的延迟效果。

学习收获

通过今天的学习,你已经掌握了:

  1. 如何在角色蓝图中添加摄像机组件。
  2. 使用 Spring Arm 实现第三人称的跟随视角。
  3. 使用鼠标事件实现动态摄像机控制。

下一步学习计划

接下来,我们将学习 触发器与交互事件,例如角色进入触发区域打开门或激活机关,为游戏逻辑增加更多互动性。敬请期待!


http://www.niftyadmin.cn/n/5840639.html

相关文章

力扣动态规划-18【算法学习day.112】

前言 ###我做这类文章一个重要的目的还是记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!! 习题 1.下降路径最小和 题目链接:931. …

【Linux系统】信号:信号保存 / 信号处理、内核态 / 用户态、操作系统运行原理(中断)

理解Linux系统内进程信号的整个流程可分为: 信号产生 信号保存 信号处理 上篇文章重点讲解了 信号的产生,本文会讲解信号的保存和信号处理相关的概念和操作: 两种信号默认处理 1、信号处理之忽略 ::signal(2, SIG_IGN); // ignore: 忽略#…

线性数据结构:单向链表

放弃眼高手低,你真正投入学习,会因为找到一个新方法产生成就感,学习不仅是片面的记单词、学高数......只要是提升自己的过程,探索到了未知,就是学习。 目录 一.链表的理解 二.链表的分类(重点理解&#xf…

浅谈知识蒸馏技术

最近爆火的DeepSeek 技术,将知识蒸馏技术运用推到我们面前。今天就简单介绍一下知识蒸馏技术并附上python示例代码。 知识蒸馏(Knowledge Distillation)是一种模型压缩技术,它的核心思想是将一个大型的、复杂的教师模型&#xff0…

小程序设计和开发:如何研究同类型小程序的优点和不足。

一、确定研究目标和范围 明确研究目的 在开始研究同类型小程序之前,首先需要明确研究的目的。是为了改进自己的小程序设计和开发,还是为了了解市场趋势和用户需求?不同的研究目的会影响研究的方法和重点。例如,如果研究目的是为了…

AI智慧社区--Excel表的导入导出

Excel表导入导出的环境配置 1.导入依赖 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-spring-boot-starter</artifactId><version>${easypoi.version}</version></dependency>2.配置Excel的导入导出以及…

如何本地部署DeepSeek

第一步&#xff1a;安装ollama https://ollama.com/download 打开官网&#xff0c;选择对应版本 第二步&#xff1a;选择合适的模型 https://ollama.com/ 模型名称中的 1.5B、7B、8B 等数字代表模型的参数量&#xff08;Parameters&#xff09;&#xff0c;其中 B 是英文 B…

ASUS/华硕天选4R FA617N 原厂Win11 22H2系统 工厂文件 带ASUS Recovery恢复

华硕工厂文件恢复系统 &#xff0c;安装结束后带隐藏分区&#xff0c;带一键恢复&#xff0c;以及机器所有的驱动和软件。 支持型号&#xff1a;FA617NS, FA617NT 系统版本&#xff1a;Windows 11 23H2 文件下载&#xff1a;点击下载 文件格式&#xff1a;工厂文件 安装教…