UE5(射线检测)学习笔记

news2024/10/6 20:26:16

这一篇会讲解射线检测点击事件、离开悬停、进入悬停事件的检测,以及关闭射线检测的事件,和射线检测蓝图的基础讲解。

创建一个简单的第三人称模板

创建一个射线检测的文件夹RadiationInspection,并且右键蓝图-场景组件-命名为BPC_RadiationInspection

将组件添加进入角色中,并将检测位置放置到角色的头部,将CameraBoom放置到头部,FollowCamera放到正对靠左一点创造越肩视角。

我们从我们的需求来查看到底需要怎么做,首先创建根据obj来进行线条追踪

通过获取世界位置连接start获取射线组件的位置

通过获取玩家控制器-获取瞄准旋转-旋转的向前的向量将向量相乘来设置并保存检测距离,随后将向量位置与组件位置相加即可的到最终的检测距离,这里的检测距离设置为300即可。

将我们可能会用到的功能进行提升变量并且分类上面三个归类设置,下三个归类调试。

然后在人物组件中进行调试,将Draw Debug Type设置为针对时长

检测效果

将找到内容折叠放到函数内,并设置为纯函数。

现在我们需要实现一些功能,分别是点击事件、悬停事件、离开悬停事件。我选择使用接口实现功能。右键蓝图创建一个接口。

创建三个事件

回到场景检测中,将HitActor设置为一个变量、复制创建LastHitActor两个用于射线检测保存状态值,将中断命中结果保存HitActor中,创建一个分支,为false则清空hitactor。

我们需要制作判断条件,第一步先判断hit actor是否有效,如果hit actor无效但last hit actor有效,则执行 Event Exit Hover事件离开悬停,并且清空 last hit actor 的值。

如果hit actor有效但last hit actor无效,则则执行 Event  Hover事件进入悬停,并且把hit actor 的值传递给 Last hit actor中。

如果两个变量都有效,则检测两个变量的值是否相等,如果相等就什么都不做,如果不相等,则先执行 Event Exit Hover,再执行 Event Hover 然后再将hit actor 的值保存到Last Hit Actor中,然后将检测部分作为一个函数,将所有线连接到返回函数即可。

创建一个自定义Click的事件,判断hit actor是否有效,然后调用Event Click。

通过tick 对检测做优化,将Tick Interval设为0.02,然后清空HIT actor 以及Last hit actor即可。

在第三人称人物上创建调试按键1,用于点击事件,在按键2上用于开启和关闭检测。

射线检测完成啦

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

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

相关文章

用于密集预测任务的通道知识蒸馏——关键字:蒸馏

摘要 https://arxiv.org/pdf/2011.13256 知识蒸馏(KD)已被证明是训练紧凑密集预测模型的简单有效工具。通过从大型教师网络转移而来的额外监督来训练轻量级学生网络。大多数先前的针对密集预测任务的KD变体都在空间域中对学生网络和教师网络的激活图进行对齐,通常是通过在每…

pandas读取文件导致jupyter内核崩溃如何解决

读取execl文件出现以下问题: str_name "D:\\cao_use\\2017_2021(new).xlsx" train_df pd.read_excel(str_name, usecols[0])崩溃的指示图如下所示: bug原因:读入的文件太大,所需时间过长,在读取的过程中,使用中断按钮暂停会直…

C语言实战项目--贪吃蛇

贪吃蛇是久负盛名的游戏之一,它也和俄罗斯⽅块,扫雷等游戏位列经典游戏的行列。在编程语言的教学中,我们以贪吃蛇为例,从设计到代码实现来提升大家的编程能⼒和逻辑能⼒。 在本篇讲解中,我们会看到很多陌生的知识&…

13_Scala面向对象编程_伴生对象

文章目录 1.伴生对象1.1 scala的一个性质,scala文件中的类都是公共的;1.2 scala使用object关键字也可以声明对象; 3.关于伴生对象和类4.权限修饰符,scala仅有private;5.伴生对象可以访问伴生类中的私有属性;6.案例7.伴…

AI预测福彩3D第10套算法实战化赚米验证第1弹2024年5月5日第1次测试

从今天开始,准备启用第10套算法,来验证下本算法的可行性。因为本算法通过近三十期的内测(内测版没有公开预测结果),发现本算法的预测结果优于其他所有算法的效果。彩票预测只有实战才能检验是否有效,只有真…

【论文阅读】Sparse is Enough in Scaling Transformers

Sparse is Enough in Scaling Transformers 论文地址摘要1 介绍2 相关工作模型压缩。模型修剪模型蒸馏。稀疏注意力。张量分解。稀疏前馈。 3 Sparse is Enough3.1 稀疏前馈层3.2 稀疏 QKV 层3.3 稀疏损失层。 4 长序列的稀疏性4.1 长序列架构4.2 内存效率的可逆性4.3 泛化的循…

AI工具大揭秘:如何改变我们的工作和生活

文章目录 📑前言一、常用AI工具:便利与高效的结合1.1 语音助手1.2 智能推荐系统1.3 自然语言处理工具 二、创新AI应用:不断突破与发展2.1 医疗诊断AI2.2 智能家居2.3 无人驾驶技术 三、AI工具在人们生活中的应用和影响3.1 生活方式的变化3.2 …

Webshell绕过技巧分析之-base64/HEX/Reverse/Html/Inflate/Rot13

在网络安全运营,护网HVV,重保等活动的过程中,webshell是一个无法绕过的话题。通常出现的webshell都不是以明文的形式出现,而是针对webshell关键的内容进行混淆,编码来绕过网络安全产品(IDS,WAF&…

【深耕 Python】Quantum Computing 量子计算机(2)绘制电子运动平面波

写在前面 往期量子计算机博客: 【深耕 Python】Quantum Computing 量子计算机(1)图像绘制基础 一、所需公式 1、自由空间中电子的波函数公式: 2、常量代换: 3、物理常量: 二、Python代码: …

PostgreSQL和openGauss优化器对一个关联查询的SQL优化改写

PostgreSQL和openGauss数据库优化器在merge join关联查询的SQL优化改写 PostgreSQL 查询计划openGauss 查询计划拓展对比 看腻了文章就来听听视频讲解吧:https://www.bilibili.com/video/BV1oH4y137P7/ 数据库类型数据库版本PostgreSQL16.2openGauss6.0 创建测试表…

【Java基础】成员变量和局部变量的区别

成员变量vs局部变量 局部变量没有默认值 成员变量有默认值局部变量在栈中开辟内存 成员变量在堆中开辟内存局部变量是当其所在的函数被调用时开辟内存 成员变量是创建对象时开辟内存局部变量是当其作用域结束时立刻释放内存 成员变量是当其所属的对象成为垃圾时等待垃圾回收线…

Rust里的Fn/FnMut/FnOnce和闭包匿名函数关系

闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使…

【设计模式】函数式编程范式工厂模式(Factory Method Pattern)

目录标题 定义函数式接口函数式接口实现类工厂类封装实际应用总结 定义函数式接口 ISellIPad.java /*** 定义一个函数式接口* param <T>*/ FunctionalInterface public interface ISellIPad<T> {T getSellIPadInfo();}函数式接口实现类 HuaWeiSellIPad.java pu…

大气网格化精细化监管监测哪家好?

一、什么是大气网格化精细化监管监测 在当今环境问题日益突出的时代&#xff0c;大气质量监测与监管成为了至关重要的工作。大气网格化精细化监管监测系统的出现&#xff0c;为我们更好地了解和掌握大气环境状况提供了有力手段。然而&#xff0c;面对众多的系统供应商&#xff…

《自动机理论、语言和计算导论》阅读笔记:p352-P401

《自动机理论、语言和计算导论》学习第 12 天&#xff0c;p352-P401总结&#xff0c;总计 50 页。 一、技术总结 1.Turing Machine ™ 2.undecidability ​ a.Ld(the diagonalization language) 3.reduction p392, In general, if we have an algorithm to convert insta…

C#-快速剖析文件和流,并使用(持续更新)

目录 一、概述 二、文件系统 1、检查驱动器信息 2、Path 3、文件和文件夹 三、流 1、FileStream 2、StreamWriter与StreamReader 3、BinaryWriter与BinaryReader 一、概述 文件&#xff0c;具有永久存储及特定顺序的字节组成的一个有序、具有名称的集合&#xff1b; …

Docker私有镜像仓库搭建 带图形化界面的

搭建镜像仓库可以基于Docker官方提供的DockerRegistry来实现。 官网地址&#xff1a;https://hub.docker.com/_/registry 先配置私服的信任地址: # 打开要修改的文件 vi /etc/docker/daemon.json # 添加内容&#xff1a; "insecure-registries":["http://192.…

定时器编程前配置和控制LED隔一秒亮灭

1.配置定时器 0 工作模式16位计时 2.给初值&#xff0c;定一个10ms出来 3.开始计时

pygame学习--精灵组、碰撞检测、精灵更新

pygame学习--精灵组、碰撞检测、精灵更新 一.效果二.代码 通过pygame库,模拟种群的分化 1.X从左往右移动,表示年龄的增加;Y坐标表示阶层 2.随着X坐标不断增大,圆逐渐增大,颜色也加深 3.精灵越多,碰撞后死亡的概率越大,诞生新精灵的概率越小 4.每个精灵都有随机的运动速度及Y坐标…

关于YOLO8学习(五)安卓部署ncnn模型--视频检测

前文 关于YOLO8学习(一)环境搭建,官方检测模型部署到手机 关于YOLO8学习(二)数据集收集,处理 关于YOLO8学习(三)训练自定义的数据集 关于YOLO8学习(四)模型转换为ncnn 简介 本文将会讲解: (1)使用前文生成的ncnn模型,部署到安卓端,并且实现视频中,人脸的检测…