文章目录

  • 前言
    • 相关介绍
    • 其他介绍
    • 上一篇笔记
    • 下一篇笔记
    • 动态预览图
    • 预览
      • 关卡蓝图
  • 一、小地图的实现
    • [1]. 创建渲染目标
    • [2]. 角色蓝图
      • (1) 添加移臂
      • (2) 添加场景镜头组件
      • (3) 移臂调整
      • (4) 输出渲染目标
    • [3] 创建材质
    • [4]. 材质
    • [5]. 控件
      • (1) 创建控件蓝图
      • (2) image组件
      • (3) 绘制图像
    • [6]. 关卡蓝图
      • (1) 帧事件
      • (2) 创建控件
      • (3) 玩家控制器
      • (4) 添加到屏幕
  • 二、大地图的实现
    • [1]. 控件
    • [2]. 操作映射
    • [3]. 关卡蓝图
      • (1) 操作事件
      • (2) 创建控件
      • (3) 玩家控制器
      • (4) 添加到屏幕
      • (5) 删除地图

前言

实现游戏的小地图、大地图的简易实现方式,不对其他的内容进行介绍,此文章需要导入一个第三人称包,实现地图的蓝图不止文章中的一种方法,你还可以选择其他的蓝图节点来实现地图的功能。

虚幻引擎版本: 4.23.1

相关介绍

哔哩哔哩-【功能】UE4 中实现小地图

哔哩哔哩-UE4游戏系统之–全网"最强"的小地图、大地图(一)

其他介绍

虚幻4官方文档

虚幻4中文官网

虚幻引擎蓝图API参考文档

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

HelloCJC虚幻引擎社区

上一篇笔记

虚幻引擎(12)-游戏界面

下一篇笔记

虚幻引擎(14)-测量模型长宽高

动态预览图

预览

关卡蓝图


一、小地图的实现

[1]. 创建渲染目标

这个渲染目标主要是为了从俯视镜头中获取信息,可以通过渲染目标来创建材质,以便之后地图的显示。

[2]. 角色蓝图

此处使用的是第三人称的默认角色蓝图,蓝图的位置如下

(1) 添加移臂


(2) 添加场景镜头组件

先选择刚刚创建的移臂,然后再添加Scene Capture Component 2D组件附属到移臂下方

(3) 移臂调整

因为我们需要做的是一个小地图,而小地图的视角是俯视向下的,所以我们需要调整镜头的位置到人物的头顶。
通过移臂我们可以直接调整移臂附属下的组件位置。
绕Y轴的旋转改为 -90度 ,高度随意

(4) 输出渲染目标

选择刚刚的Scene Capture Component 2D组件,

Texture Target中选择刚刚创建的渲染目标,选中之后就能将这个组件的捕捉到的镜头信息输出到该渲染目标中去。

选择完毕后编译保存角色蓝图

[3] 创建材质

如果你之前的操作没有出现错误的话,渲染目标将会显示相应的镜头信息。

右键渲染目标点击创建材质

材质的名称会默认在渲染目标的基础之上添加 _Mat 的后缀

[4]. 材质

因为当前创建的材质是一个3D类型的,如果需要弄成小地图进行显示的话,就需要变成2D,即平面的。
先打开材质,从左侧的视口就可以看见是一个立体的材质。

然后修改Material Domain的参数为User Interface,变更后材质的蓝图会发生变更

将RGB输出与最终颜色相连即可。

视图变为2D

[5]. 控件

以上的步骤完成之后,我们需要有一个控件能够将材质中的镜头输出到屏幕。
具体的操作方法与上一个笔记内容类似:虚幻引擎4笔记(12)-游戏界面

(1) 创建控件蓝图

(2) image组件

点开控件蓝图,并添加一个image组件到面板中

调整好小地图在屏幕当中的位置。

(3) 绘制图像

选择刚刚的image组件,并在细节面板中找到Brush的参数,选择之前创建的地图材质。

编译保存

[6]. 关卡蓝图

控件创建完毕后,就需要使用他

(1) 帧事件

如果使用的事件节点只是触发一次的话,在大地图功能中需要将所有控件删除,而无法实现小地图的显示,所以不能使用事件Begin Play来触发相应的控件。
该事件节点每经过一帧就会触发一次与其连接的节点。

注:因为这个Tick节点是每经过一个帧就执行一次,所以会比较消耗性能。

(2) 创建控件

之前我很疑惑的是为什么不是直接使用控件,而是创建控件。
之后思考了一下,可能就是由于创建了控件之后,才有办法对控件中的内容进行操作。

(3) 玩家控制器

如果你的游戏中不只有你一个玩家,且没有指定玩家的话,你的小地图可能就会显示的是其他玩家的镜头。这个节点相当于指明了为玩家0(即自身)创建一个小地图控件。

(4) 添加到屏幕

Add to Viewport的作用就是将控件之中的东西显示到相应的玩家屏幕中。
注:该节点没法直接搜索创建,需要通过其他节点的输出接口创建


连接相应接口

编译保存

二、大地图的实现

因为在之前的小地图操作中已经设置好了相应的组件和材质,两个地图可以使用同一个材质来进行显示,所以要弄一个大地图就只需要再创建一个控件即可。

[1]. 控件

因为相应的操作和步骤一中的类似,所以就不再赘述了。



编译保存

[2]. 操作映射

我们需要绑定一个按键M,然后实现按下M之后就显示大的地图,松开M后大地图就消失。

[3]. 关卡蓝图

(1) 操作事件

创建一个刚刚绑定好的事件节点

(2) 创建控件

(3) 玩家控制器

(4) 添加到屏幕

(5) 删除地图

添加一个 Remove all widget节点,这个节点的功能就是执行该节点后,删除所有的控件,从而使得地图消失。因为小地图是每帧都会绘制一次,所以不用担心小地图会被删除。
将事件节点的Released接口与该节点相连,当松开M键之后就会执行这个节点了。


记得编译保存,然后你就能将那个角色蓝图类拖动到地图中使用了。

虚幻引擎(13)-游戏地图相关推荐

  1. 虚幻引擎(12)-游戏界面

    文章目录 前言 相关介绍 其他介绍 上一篇笔记 下一篇笔记 蓝图预览 控件蓝图 关卡蓝图 一.图片导入 二.控件蓝图 [1]. 设置背景 [2]. 按钮 [3]. 文本 [4]. 蓝图 (1) 开始游 ...

  2. 虚幻引擎(14)-测量模型长宽高

    文章目录 前言 其他介绍 上一篇笔记 下一篇笔记 一.第一种方式 二.第二种方式 前言 模型长宽高的测量方法 虚幻引擎版本: 4.23.1 其他介绍 虚幻4官方文档 虚幻4中文官网 虚幻引擎蓝图API ...

  3. (转载)虚幻引擎3--9掌握虚幻技术UnrealScript 预处理器

    第九章 – UNREALSCRIPT预处理器 9.1概述 9.2 MACRO(宏)的基础知识 指南 9.1 –您的第一个宏 9.3具有参数的宏 指南 9.2 –       MACRO参数 9.4内置 ...

  4. 国产游戏《黑神话:悟空》刷爆全网,虚幻引擎4打造,网友:有生之年终于看到国产3A!...

    浩楠 晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 你也有被这段游戏试玩视频刷屏吗? 13分钟.国产团队出品.B站上线不到24小时,播放量已经破千万,迅速火爆全网. 这就是来自国内游戏 ...

  5. UE4: 学习虚幻引擎4的16条准则

    作为一个完全的新手,尝试去学习一个新的游戏引擎看起来会很可怕.你拥有了许多的学习教程.文件和建议,但是你却不明白怎样去开始或是以一个什么样的步骤去学习虚幻引擎4.你在不同的方向间摇摆不定,最终你会越来 ...

  6. 虚幻四中怎么保持导入模型坐标_[CG分享]|虚幻引擎5 技术解析

    今天还是跟大家聊一聊最近很火的虚拟引擎,Epic Game公司的虚幻引擎5惊艳了全球游戏业,其Nanite虚拟微多边形几何技术和Lumen动态全局光照技术带来了产业界的飞跃.Nanite虚拟几何技术的 ...

  7. 虚幻引擎之自定义着色模型(ShadingModel)

    虚幻引擎之自定义着色模型(ShadingModel) 文章目录 虚幻引擎之自定义着色模型(ShadingModel) 一.前言 二.着色模型 2.1 材质输入 2.2 模型浅析 2.2.1 Defau ...

  8. UE4虚幻引擎开发手机游戏

    该文章来自用户转载 点击阅读原文 UE4虚幻引擎作为游戏开发引擎之一,在很多项目中都会使用到.下面就给大家分享下如何使用UE4开发高品质的手机游戏. 作者介绍 大纲 •介绍 •UE4 针对3A级手游的 ...

  9. 在虚幻引擎5中构建你的首款游戏 - 10[完] - 特效音效镜头震动打包

    在虚幻引擎5中构建你的首款游戏 - 10[完] - 特效&音效&镜头震动&打包 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕) ...

最新文章

  1. 由于找不到PBSYS90.dll,无法继续执行代码。重新安装程序可能会解决此问题!
  2. 构建之法阅读笔记02
  3. Important table for SEGW
  4. linux vim 快速定位位置,vim快速移动定位的一些操作命令
  5. iphone闪退修复工具_支持iOS13~13.3越狱工具发布(附下载地址)
  6. Python2 和 pip2 存在, Python3 也存在,但是 pip3 不存在的解决办法
  7. 多线程命名管道通信的设计
  8. android 文件管理 显示缩略图,android将缩略图保存到缩略图文件夹_android_开发99编程知识库...
  9. 功夫小子实践开发-基本工具类的分析和实现
  10. Java工具类之Base64Utils实现base64码转换为文件流等互换
  11. dell 恢复介质_安装DELL原装windows系统,使用 USB 恢复介质来安装 Microsoft Windows
  12. 手机浏览器的扫一扫功能在哪里,有什么作用
  13. The requested operation requires elevation问题解决
  14. F-Pairwise Modulo
  15. Unity 父子约束 手持弓箭
  16. SQL工具导出CSV文件中文乱码
  17. 文本相似度:A Survey of Text Similarity Approaches
  18. 风格化半调效果如何制作?教程来了
  19. 微信小程序开发教程(破解版IDE 无内测资格也可使用)
  20. 培训有毛用!大会有毛用!

热门文章

  1. 基于STM32的录音机设计(STM32F103+VS1053B)
  2. 大数据+人脸识别在商业银行中的应用
  3. c语言 递归 求公约数,递归求最大公约数
  4. SSRF(服务器请求伪造)
  5. 转:Mac自带截图功能说明
  6. #ifdef与#endif用法小结
  7. git把我本地文件传到我的指定的仓库
  8. Unity3d(PlayerPrefs 类的介绍与使用)
  9. 每日技巧分享:虚拟直播间软件哪个好?
  10. Python实现RC4