UE4 回合游戏项目 17- 进入指定区域触发战斗事件

news2025/1/16 19:59:47

在上一节(UE4 回合游戏项目 16- 控制玩家)基础上,增加角色走进指定区域从而触发战斗场景的功能

主要思想是添加一个碰撞区域,当玩家与该区域碰撞时,触发战斗事件

效果:

步骤:

1.新建蓝图类

 选择Actor

 命名为碰撞进入战斗

 2.双击打开该蓝图,添加一个盒体碰撞组件

 调整一下该组件缩放

点击事件图表,可以看到有一个名为事件Actor开始重叠的节点,表示当Actor进入盒体碰撞时会触发该节点,Other Actor表示进入盒体碰撞区域的那个Actor

 

 将Other Actor转换为玩家类,因为敌人进入该区域不需要触发这个名为事件Actor开始重叠的节点

3.当重叠的是playerRole类时,我们需要获取到战斗场景的引用。首先打开battleScenario,添加一个名为进入战斗的自定义事件

 

 4.打开gameMode1,在事件开始运行时,获取场景中指定类的所有Actor

选择 battleScenario

 

 由于场景中只有一个battleScenario类,因此只需获取数组中的第0个对象

 提升为变量

变量命名为战斗场景,这样就获取到了对战斗场景的引用

 5.回到名为碰撞进入战斗这个蓝图,获取gameMode1中的战斗场景这个变量,然后从战斗场景中调用进入战斗这个自定义事件。此时,只要玩家控制的角色进入战斗区域,就可以触发进入战斗的事件。

 6.将碰撞进入战斗这个蓝图添加到场景中

 此时运行效果如下:

可以看到,当玩家控制的角色进入指定区域后,就会触发战斗事件。

接下来我们需要删除现在控制的这个角色,切换到battleScenario中控制的角色

 通过如下节点删除指定的Actor,指定的Actor为类型转换为playerRole这个节点中As Player Role输出的对象,这个对象就是进入碰撞区域的Actor

 接下来将摄像机转换到战斗场景中的摄像机

7.打开battleScenario蓝图,当触发进入战斗事件后,将镜头由玩家控制器上的摄像机转到self(battleScenario)中的摄像机上

 接下来创建在指定的战斗区域中创建一个玩家

8.打开关卡蓝图,将如下标注的节点删除

 删除后如下:

 9.打开battleScenario蓝图,选中进入战斗节点

 添加两个输入参数,第一个命名为碰撞玩家,类型为playerRole对象,第二个命名为敌人数量类型,类型为敌人数量类型的数组

 添加如下节点:

 打开碰撞进入战斗

 将敌人数量类型提升为变量

 

将该变量变为公有变量

 

 变量命名为敌人的类型和数量

 该变量作为公有变量的作用是,可以直接在蓝图拖入场景后设置参数,如下图所示,可以设置敌人类型和数量

 现在我们生成了敌人,还需生成玩家

10.打开battleScenario,获取进入碰撞区域的玩家的transform

 提升为变量

命名为碰撞的位置

 之后在该位置生成一个玩家

11.首先将如下节点重叠为一个节点

命名为怪物生成节点

 拷贝敌人生成位置这个变量,新变量命名为玩家生成位置

创建如下节点,将玩家生成的位置加入到玩家生成位置这个数组变量中

 通过如下节点生成玩家

将碰撞玩家提升为变量

 

 变量命名为碰撞玩家

 获取碰撞玩家的Pawn Class

 将生成的玩家设置为gameMode1中的玩家变量

更改battleScenario中节点如下,删除标注区域内的节点

 在碰撞进入战斗蓝图中创建如下节点

 还需要添加鼠标显示,在battleScenario添加如下节点:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/10212.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

循环检测算法(哈希,双指针)

文章目录快乐数环形链表环形链表II快乐数 寻找快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环…

简明 Python 教程

文章目录参考书籍1、安装和输出2、注释3、常量和变量4、格式化方法5、案例:使用变量与字面常量6、运算符7、数值运算与赋值的快捷方式8、计算命令9、if 语句10、while 语句11、for 循环12、break 语句13、continue 语句14、函数15、函数参数16、局部变量17、**globa…

记一次G1垃圾回收线上调优的实践

背景 有个项目最近上线了,为了避免后面访问量突增引发不可预知的问题,按照惯例需要进行压测。我选取了几个请求比较频繁的接口进混合压测,发现了一个性能瓶颈,是垃圾回收配置不合理导致的。 我使用的是G1垃圾回收策略。 正文 …

log4j日志漏洞问题

去年,log4j被爆出了一个漏洞,说可以通过利用日志格式化中的远程注入控制主机。当时,这个漏洞被形容为史诗级漏洞,因为这个远程操作可以执行一些操作,如果这个操作有恶意,那么就可以干任何事情,其…

jsonp介绍

为什么要知道jsonp,jsonp的作用是什么: Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)获取资料,即跨域读取数据。原则上浏览器是不允许请求不同域名的数据的&…

知识付费小程序的作用_知识付费小程序有哪些功能

在线知识付费产业的主要业务逻辑是基于用户的主动学习需求,为其提供以跨领域基础知识与技能为核心的在线知识服务,提升其达到求知目的的效率。公众号和小程序的迅速发展,又为知识付费提供了技术支持,从而促进了行业的进一步发展。…

skywalking部署

一.到apache 上下载 skywalking的git上下载包,选择对应的版本 Downloads | Apache SkyWalking 二.选择完后会跳转到对应的apache下载地址,点击下载 Apache Downloads 三.将下载好的压缩包进行解压,我下载的是8.8.1版本 tar -xf apache-sky…

C++11初篇(快速了解)

文章目录1. C11简介2. 统一的列表初始化2.1 {}初始化2.2 std::initializer_list3. 声明3.1 auto3.2 decltype3.3 nullptr4 范围for循环1. C11简介 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1),使得C03这个名字已经取代了C98称为C1…

爱婴室主要股东再现减持:莫锐伟、王云亦是如此,业绩表现不理想

一波刚平,一波又起。 11月15日,爱婴室(SH:603214)发布《关于持股5%以上股东减持股份计划公告》,称该公司持股16.09%的股东合众投资拟通过集中竞价、及/或大宗交易方式减持持有的公司股份不超过843.1015万股&#xff0…

基于Java+JSP+MySQL基于SSM的物流公司物流订单管理系统-计算机毕业设计

项目介绍 随着我国经济的高速增长,物流快递的数量也在不断的增加,同时面临的就是如何更加方便快捷和高效的管理物流订单的问题,传统模式的物流订单管理模式明显已经不能够满足当下的需求,于是我们提出了基于B/S的贴心物流公司物流…

leetcode118 -- 杨辉三角

文章目录一. 问题描述示例 1示例 2提示二. 解决问题主函数:法一:递归1. 解题思路2. 解题代码法二:动态规划1. 解题思路2. 解题代码法三:暴力破解1. 解题思路2. 解题代码一. 问题描述 给定一个非负整数 numRows,生成「…

案例驱动,手把手教你学PyTorch(一)

通过案例学PyTorch。 扫码关注《Python学研大本营》,加入读者群,分享更多精彩 介绍 PyTorch是增长最快的深度学习框架, Fast.ai在其 MOOC、Deep Learning for Coders及其库中也使用了它。 PyTorch 也非常Python 化,也就是说&am…

ubuntu18.04编译GB28181Server

目录一、简绍二、项目依赖的第三方库2.1 jrtplib2.1.1 编译JRTPLIB2.2 mxml2.2.1 编译mxml2.3 osip2/exosip22.3.1 编译osip22.3.2 编译exosip22.4 ffmpeg2.5 提示三、修改GB28181Server3.1 修改GB28181Server.pri3.2 修改AppConfig.cpp3.3 修改GB28181Server.cpp3.4 修改RtpRe…

Java 查漏补缺

文章目录1. Rest风格# 传统访问# Rest风格# Restful开发中的注解介绍2. controller中路径参数3. 约束Controller中方法的请求类型4. 视图跳转5. java.sql.Date 和 java.util.Date 的联系和区别6. 使用 Slf4j 日志7.定时任务81. Rest风格 Rest也叫做范文资源的形式,…

最简单的git图解(系列一)

git clone: 这个命令用于将远程代码仓库克隆到本地,这是对任何项目进行开发前的第一步。 比如你本地本来并没有某个项目的代码仓库,此时随便找一个文件目录并进入cmd命令窗口,执行命令git clone [remote address],[remote addres…

SQL 50 题(MySQL 版,包括建库建表、插入数据等完整过程,适合复习 SQL 知识点)

目录1.建库建表2.插入数据3.SQL 50 题3.1.SQL 01——查询"01"课程比"02"课程成绩高的学生的信息及课程分数3.2.SQL 02——查询"01"课程比"02"课程成绩低的学生的信息及课程分数3.3.SQL 03——查询平均成绩大于等于 60 分的同学的学生编…

SMP多核启动(一):spin-table

前言 看这篇文章,你必备的一些前置知识有如下 1、ATF启动流程 2、PSCI电源管理的概念 3、设备树 如果没有,可以去我的专栏目录下逛逛,会有所收获。 1、SMP是什么? SMP 英文为Symmetric Multi-Processing ,是对称多…

Vscode环境下的PyQt

一、环境配置 ①在Conda控制台下执行以下两条命令,添加开发环境 pip install PyQt5 pip install PyQt5-Tools ②找到designer.exe并运行 文件在哪网上说法千奇百怪,我建议还不如装个everything直接在C盘做全局搜索来得快,实在不想装的话可以…

C轮累积融资1亿美金 禾多科技如何靠自我造血能力赢得资本青睐?

自动驾驶当前在全球范围内受到广泛关注,是汽车行业正在集中力量攻克的新领域。据英特尔预计,2050年仅自动驾驶汽车的市场规模将达到7万亿美元。引得资本和科技巨头们纷纷“下注”。 近日,全栈自动驾驶科技公司禾多科技宣布,已完成…

Redis主从结构数据同步分析

Redis主从结构有两种部署方式,如下: 一主多从的模式是使用最多的模式,通常搭建哨兵或者集群都采用这种方式,但是这种方式主节点复制压力较大,尤其是全量同步的时候。 级联结构使用情况相对较少,这种结构中间…