文章目录

  • 前言
    • 相关介绍
    • 其他介绍
    • 上一篇笔记
    • 下一篇笔记
    • 蓝图预览
  • 一、创建轴映射(绑定鼠标的平移)
  • 二、角色蓝图
    • [1]. 创建一个角色蓝图
    • [2]. 添加一个角色
    • [3]. 摄像机和移臂
    • [4]. 世界中的三种旋转方向
    • [5]. Roll值的变更
      • (1) Roll=0时
      • (2)Roll>0时
      • (3)Roll<0时
    • [6]. Pitch值的变更
      • (1)Pitch=0时
      • (2)Pitch>0时
      • (3)Pitch<0时
    • [7]. Yaw值的变更
      • (1)Yaw=0时
      • (2)Yaw>0时
      • (3)Yaw<0时
      • 小归纳:
    • [8].上下视角蓝图
    • [9].旋转视角
    • [10]. 其他配置
  • 三、控制角色
    • [1].在拖入场景后,再进行设置
    • [2]. 直接在角色蓝图类中设置

前言

此篇文章仅实现视角移动的功能

虚幻引擎版本: 4.23.1

相关介绍

哔哩哔哩-UE4蓝图:多视角切换系统(第一人称、第三人称、漫游视角的切换)

其他介绍

虚幻4官方文档

虚幻4中文官网

虚幻引擎蓝图API参考文档

虚幻引擎4蓝图节点-小狐狸FM

HelloCJC虚幻引擎社区

上一篇笔记

虚幻引擎(2)-角色移动

下一篇笔记

虚幻引擎(4)-角色模型导入

蓝图预览

一、创建轴映射(绑定鼠标的平移)

详细的操作就不介绍了,有需要的话可以去看我前两篇虚幻引擎的笔记
虚幻引擎4笔记(1)-角色跳跃
虚幻引擎4笔记(2)-角色移动

鼠标X和鼠标Y就相当于鼠标在坐标系的移动。
鼠标X为正数时,是你鼠标往你右手边的移动方向
鼠标Y为正数时,是你鼠标往你正前方的移动方向

二、角色蓝图

[1]. 创建一个角色蓝图

[2]. 添加一个角色

因为此笔记中不使用导入包,所以就直接使用了原本有的立方体模型了。

[3]. 摄像机和移臂

在左方的组件中,搜索Spring arm并添加
SpringArm类似于自拍杆的作用,可以通过变更SpringArm细节面板中的值,来对摄像机进行位置、角度的操作,是一个相对方便的组件。


然后选中SpringArm并添加一个摄像机Camera,这个Camera就会附属在SpringArm下。

在此时选中SpringArm移臂如果是第一人称的话就选中摄像机,在细节面板中找到下图的选项并勾选。
如果没有勾选这个的话,没法完成上下视角的移动(之前就是一直没发现这个问题,之后偶然勾选之后才实现了上下视角的移动)。
UsePawnControlRotation:是否允许控制、查看Pawn的旋转(控制视角的节点的目标是Pawn)

因为此处使用的是一个立方体,所以就不用变更相应的人物朝向。
若你使用到了人物模型的话,需要将人物的正面朝向蓝色箭头的方向,即下图的箭头方向,不然你会发现摄像机的视角很奇怪。

[4]. 世界中的三种旋转方向

点击SpringArm后,查看细节面板

红色的为Roll、绿色的为Pitch、蓝色为Yaw,这三种值变化后就能调整SpringArm中的Camera角度了。
Roll为绕着X轴旋转的方向,
Pitch为绕着Y轴旋转的方向,
Yaw为绕着Z轴旋转的方向。

[5]. Roll值的变更

你可以直接看XYZ坐标系是如何旋转的,或是摄像机的旋转来看对应的变化。

(1) Roll=0时

(2)Roll>0时

(3)Roll<0时

[6]. Pitch值的变更

你可以直接看XYZ坐标系是如何旋转的,或是摄像机的旋转来看对应的变化。

(1)Pitch=0时

(2)Pitch>0时

(3)Pitch<0时

[7]. Yaw值的变更

你可以直接看XYZ坐标系是如何旋转的,或是摄像机的旋转来看对应的变化。

(1)Yaw=0时

(2)Yaw>0时

(3)Yaw<0时

小归纳:

由5、6、7中Roll、Pitch、Yaw几个值的演示,可以看出
若要将视角从人物底部移动到顶部时,需要变更Pitch的值
若要将视角绕着人物进行旋转的话,需要变更Yaw的值
所以蓝图中仅需要含有Pitch和Yaw的节点即可实现上下视角和旋转视角

[8].上下视角蓝图

先创建一个刚刚的轴映射节点,搜索轴事件即可寻找


然后再创建一个节点,以便能通过鼠标的Y轴移动来变更摄像机的视角。
搜索Pitch,选择创建。

Val能将摄像机以Pitch轴旋转多少度

此时需要设定一下Val的值,不然你连接之后也没法移动视角。

将相应颜色的接口相连即可,这里需要注意,连接之后Val的默认值将会被隐藏。
如果发现视角没法移动且其他的操作是正确的话,可能就是这个Val没有设置默认的值

[9].旋转视角

具体的操作和步骤8类似
先创建一个轴映射对应的节点,然后再创建能变更Yaw值的节点。
在对该节点Val值设置之后,将相应的接口相连,最后再编译即可。



所有的蓝图创建完毕之后,记得点击编译,没有编译的话,就没法实现蓝图的功能了。

[10]. 其他配置

如果你想要鼠标控制时,不旋转玩家的身体,你可以点击自身蓝图类

找到User Controller Rotation Yaw选项
ON表示旋转视角时,玩家的朝向也会跟着旋转
OFF旋转视角时,玩家朝向不变

三、控制角色

有几种控制角色的方法,目前了解到是两种。

[1].在拖入场景后,再进行设置

选中场景中的角色蓝图类,然后在其细节面板中输入possess进行搜索,将AutoPossessPlayer值变为Player 0

[2]. 直接在角色蓝图类中设置

打开一个角色蓝图类,然后点击最上面的那个组件,有个自身字样的。

然后在右边的细节面板中,输入possess进行搜索 ,将AutoPossessPlayer值变为Player 0,之后通过蓝图类拖动生成的每一个都默认是主机可以控制的了,如果你生成了很多个都能被主机控制的角色的话,只能控制你第一个生成的那个角色

虚幻引擎(3)-第三人称视角相关推荐

  1. 虚幻5简单第三人称游戏制作文档

    虚幻5简单第三人称游戏制作文档 基本需求 最后成果与ue5引擎第三人称初始化后的内容类似(但要从空白项目做起) 基础创建 登录到 Epic Games启动程序,通过 新建(New)>游戏(Gam ...

  2. Three.js漫游相机控制器/three.js第三人称视角漫游/three.js第一人称视角漫游

    Three.js三维可视化引擎没有实现第三人称漫游控制器,第一人称实现的也很一般,大部分满足不了需求,需要自己手动去写一个.以下是模仿其它平台写的第三人称视角漫游,也可以简便的改写成第一人称. 下面是 ...

  3. Unity 3D第三人称视角、用途广泛限定角度(视角不能360度翻转)

    Unity第三人称相机视角控制 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心 ...

  4. 我的世界java版mac切视角_我的世界怎么视角切换攻略 第三人称视角

    我的世界中除了常用的第一视角外,为了方便截图和视频拍摄还提供了第三人称视角,这个视角也就是从玩家的人物外观看玩家,镜头并不显示视线所及的摄像,而是从人物后方(0度/0弧度)或前方(180度/3.14弧 ...

  5. rust第三人称视角插件_一个第三人称游戏相机的实现(基于rust语言和cgmath库)...

    我在学校时就对角色扮演类3D游戏感兴趣,毕业那会研究过第三人称视角的游戏相机的实现(基于D3D),但由于没有想到合适的计算方法,最后实现出来的程序有BUG,并且没找出原因. 最近看到git有rust写 ...

  6. D3D游戏编程系列(七):自己动手编写rpg游戏之第三人称视角的构建

    终于迎来了自己的最后一个游戏,RPG冒险游戏,这个应该也是当前在单机领域最火的游戏类型了吧,丰富的剧情配上动听的音乐,在加上华丽的画面和带劲的打斗,实在是一个让人心旷神怡的游戏啊,本文旨在塑造一个简单 ...

  7. Spectator view——Hololens第三人称视角技术的详细实现过程

    Spectator view--Hololens第三人称视角技术的详细实现过程 距离微软发布首个不受线缆限制的全息计算机设备Hololens已经快过去三个年头,而随着新技术的不断出现,MR这一曾经&q ...

  8. Unity3D 人称设置(第一人称视角、第三人称视角)

    设置第一人称视角 1.把物体的坐标和摄像机的坐标设置成一样的,这样摄像机就在物体内部,就是第一人称的视角. 2.把摄像机拖拽进物体对象内,摄像机变成物体的子对象,这样摄像机就能跟着物体一起移动. 设置 ...

  9. [Unity3d]第一人称和第三人称视角完美切换

    最近一直在搞3D漫游,在第一人称和第三人称视角切换碰到些问题,视角的例子我是导入的官方的character controller包,不得不佩服官方脚本语言的写法,看了一下写的很完美,新手估计比较难看懂 ...

最新文章

  1. 8月21日至8月27日技术积累
  2. 【opencv】2.opencv绘图、视频等
  3. Python异常体系结构图
  4. ubuntu 编译 /usr/bin/ld: cannot find 问题解决
  5. 蓝桥杯 反置数 数论
  6. 使用HTML5和JavaScript创建音乐播放列表
  7. oracle 查看dba账户,Oracle DBA常用查询
  8. 【云和恩墨大讲堂】从执行计划洞察ORACLE优化器的“小聪明”
  9. Scrapy开发指南
  10. IDEA eclipse快捷键大全
  11. 数据库可疑的解决方案
  12. 最全的珍贵的四大天王合照和成名历程 - 很怀念【组图】
  13. DevExpress MVC中使用XPO映射到sql server的步骤
  14. 华三路由器链路聚合配置(华三交换机配置)
  15. jquery字符串相等判断
  16. 服务器出现HTTP400、401、402、403错误原因及解决方法
  17. 如何用解压缩工具破解PPT文档保护
  18. 【MySQL】单表支持并行导出的工具--mydumper
  19. 【Docker】Docker概述
  20. php模板引擎循环start,smarty模板引擎foreach和section循环操作详解

热门文章

  1. 一起做网店的商品主图的批量采集的步骤
  2. 关于‘\0’,‘0’,“0”,0的区别
  3. int java 声明_怎样用java定义一个int数组 C++ 怎么声明一个整型数组?
  4. 龙迅LT7911D Type-C/DP/eDP to MIPI DSI/CSI/LVDS 信号转换芯片
  5. 嵌入式计算机 硬盘录像机,嵌入式数字硬盘录像机安装步骤 硬盘安装及使用注意事项【详细介绍】...
  6. ui标注android ios,IOS+ANDROID的UI切图与标注方法
  7. 今天我被微软狠狠地雷翻了
  8. Java 在线编程编译工具上线,直接运行Java代码
  9. 数据结构——栈(栈结构、栈面试题、栈的操作、栈结构实现、进制的转换)
  10. Win11忘记本地账户密码了怎么移除或修改密码