UE4 射线检测案例(C++)

2023-11-19

UE4 射线检测(C++)

开发场景:

  1. 玩家(C++开发的)
  2. 武器(C++)
  3. 射线检测函数
    蓝图:在这里插入图片描述
    C++:

在这里插入图片描述

效果:
在这里插入图片描述

制作流程:

  1. 添加开火按键映射

在这里插入图片描述

  1. 新建一个继承ACharacter的C++:
    用蓝图继承刚刚新建的C++
    然后设置好游戏模式
    在这里插入图片描述
    在这里插入图片描述

我 这是是 用了一个枚举,其实你直接调用这个方法就行了,不需要加switch,直接FireWeaponPrimary();

在这里插入图片描述

这里只看服务端的

这是一个玩家摄像头
在这里插入图片描述
在这里插入图片描述

这是玩家武器
在这里插入图片描述
在这里插入图片描述

按键后上面的函数调用会到这里来,注意看函数名字
在这里插入图片描述

这个是服务器的方法实现在这里:
在这里插入图片描述
然后我们只看射线检测:
在这里插入图片描述

  1. CameraLocation:这个是按下键后的第一时间的摄像机位置
  2. EndLocation:这个是射线的尾,计算方式:摄像头的向前向量 * 一个距离 + 摄像头的位置
    这就是射线所发出的线的位置,两点一线
  3. ETraceTypeQuery::TraceTypeQuery1 : 就是一个碰撞通道
    在这里插入图片描述
  4. false: 碰撞的检测方式
    在这里插入图片描述
  5. IgnoreArray :一个碰撞的东西添加进去之后,就会被忽略 ,就是这里面的东西不参加射线检测的意思
  6. EDrawDebugTrace::Persistent :这个就是Debug的射线 在游戏中画出来,有4个类型(只介绍使用的这个),一直保持,就是开枪之后出来的射线检测不会消失
  7. HitResult :这个东西就是击中的返回集,比如说击中玩家,打印玩家的名字
  8. true :这个是是否要忽略自己(和前面那个集合添加的效果一样,这个为true前面那个就 可以不用添加this了)
  9. FLinearColor::Red :射线颜色
  10. FLinearColor::Green: 射线击中后变成颜色
  11. 3.f :因为我们Debug选的是持久,使用这个3.f设置在这里没有影响(如果想要有影响可以把前面的持久改了)
  12. bool HitSuccess:这个是返回值,当为true的时候就是有目标被击中

在这里插入图片描述
记住设置碰撞 Visibility 为阻挡就可以被射线检测到
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UE4 射线检测案例(C++) 的相关文章

  • 金特 + XNA (C#)

    是否可以使用jint http jint codeplex com操作使用 XNA C 创建的 3D 环境 并向该环境添加功能 再次使用 jint 作为 Jint 的贡献者 我会推荐你Jint http jint codeplex com
  • Volatile.Read 和 Volatile.Write 背后的逻辑是什么?

    来自 MSDN Volatile Read 读取字段的值 在需要它的系统上 插入一个 阻止处理器重新排序内存的内存屏障 操作如下 如果在该方法之后出现读或写 代码 处理器无法移动它before这个方法 and Volatile Write
  • 编写此代码片段的有效方法是什么? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 更有效和 或更短地重写此代码以节省字节并显得不那么冗长的方法 if N 2 0 N 6 N 8 N 10 N 12 N 14 N 16 N
  • 在 C# 中使用“using”关键字避免多次处置的最佳实践

    当变量是 IDisposable 时 我们有using关键字来管理处置 但是如果我们在方法中返回值怎么办 using twice StringContent stringToStringContent string str using St
  • JSON.Net 反序列化返回“null”

    我正在使用 JSON Net 反序列化 JSON 字符串 JSON 字符串是 string testJson Fruits Apple color red size round Orange Pro
  • 我如何知道 C 程序的可执行文件是在前台还是后台运行?

    在我的 C 程序中 我想知道我的可执行文件是否像这样在前台运行 a out 或者像这样 a out 如果你是前台工作 getpgrp tcgetpgrp STDOUT FILENO or STDIN FILENO or STDERR FIL
  • 叮当错误?命名空间模板类的朋友

    以下代码在 clang 下无法编译 但在 gcc 和 VS 下可以编译 template
  • 将设置函数(setter)标记为 constexpr 的目的是什么? [复制]

    这个问题在这里已经有答案了 我无法理解将 setter 函数标记为的目的constexpr 自 C 14 起这是允许的 我的误解来自以下情况 我使用 constexpr c tor 声明一个类 并且我将通过创建该类的 constexpr 实
  • 将下拉列表与字典绑定

    我将字典绑定到下拉列表 举例来说 我的字典中有以下项目 Test1 123 Test2 321 我希望下拉文本采用以下格式 Test1 Count 123 Test2 Count 321 我沿着以下路径走 但没有运气 MyDropDown
  • C 中“complex”的默认类型

    根据我读过的文档 C99 和更高版本的支持float complex double complex and long double complex作为复杂类型 但是 此代码在使用时编译时不会发出警告gcc Wall Wextra inclu
  • 带有运算符语法的错误消息,但不带有函数语法的错误消息

    为什么我在调用 unary 时收到错误消息 使用运算符语法 如果我用函数语法调用它就可以了 现场演示 https godbolt org z j7AbeQ template
  • 静态类与类的实例

    我有一个静态类 用于访问我的公共属性 整个应用程序的全局属性 和我在应用程序运行期间使用的方法 例如 我在静态类中设置了一些属性 并且在应用程序运行时我可以从属性中获取值 但我可以使用单例模式创建非静态类并以相同的方式使用它 问题 对于我的
  • 用于连接 DataTable 上的动态列的动态 LINQ

    我目前遇到的情况不确定如何继续 我有两个从数据库填充的数据表 我还有一个可用的列名称列表 可用于将这两个数据表连接在一起 我希望编写一组 LINQ 查询 这些查询将 显示两个数据表中的行 内部联接 用于从一个数据表更新另一个数据表 显示一个
  • 时间:2019-03-17 标签:c++fstream并发访问

    如果从不同的进程 线程同时访问文件会发生什么 据我所知 没有锁定文件的标准方法 只有操作系统特定的功能 就我而言 文件将被经常读取而很少写入 现在如果A打开一个文件进行读取 ifstream 并开始读取块 和B打开相同的文件进行写入 ofs
  • Resharper:IEnumerable 的可能多重枚举

    我正在使用新的 Resharper 版本 6 在我的代码中的几个地方 它给一些文本加了下划线 并警告我可能存在IEnumerable 可能的多重枚举 我理解这意味着什么 并在适当的情况下采纳了建议 但在某些情况下 我不确定这实际上是一个大问
  • 如何使用 CSI.exe 脚本参数

    当你运行csi exe 安装了 Visual Studio 2015 update 2 您将得到以下语法 Microsoft R Visual C Interactive Compiler version 1 2 0 51106 Copyr
  • 无法在 C# 中为 EventArgs 分配使用派生类型的事件处理程序

    所以我有一个事件声明如下 public event EventHandler OnChangeDetected 然后我有以下处理程序被分配给该事件 myObject OnChangeDetected OnTableChanged 我的理解是
  • 无法识别解决方案文件夹中的 Visual Studio 2017 Nuget.config

    我在使用 Visual Studio 2017 时遇到问题 新的解决方案不断引用 C Users yopa AppData Roaming NuGet Nuget config 中意外位置的 Nuget config 文件 我已将 nuge
  • 这种尺寸对齐是如何工作的

    对于所提供的评论 我无法理解以下代码 这段代码的作用是什么 以及等效的代码是什么8 aligned segment size must be 4 aligned attr gt options ssize 3 Here ssize is o
  • 将 Swagger 与命名空间版本的 WebApi 结合使用

    我已经找到了如何使用基于名称空间的 WebAPI 版本这个班 https aspnet codeplex com SourceControl changeset view dd207952fa86 Samples WebApi Namesp

随机推荐

  • QItemDelegate和 QStyledItemDelegate的区别

    为使用方便 从 4 4开始 Qt 提供了另外的基于组件的子类 QItemDelegate和 QStyledItemDelegate 默认的委托是 QStyledItemDelegate 二者的区别在于绘制和向视图提供编辑器的方式 QStyl
  • 基于用户协同过滤(User-CF)的推荐算法

    基于用户协同过滤 User CF 的推荐算法 User CF的推荐实例 在学校生活的时候 新生开学都会问同专业的师兄师姐 我要买什么书 我要怎么安排作息 等相似的问题 此时师兄师姐就会依着他们的专业和偏好做一些推荐 这就是现实中个性化推荐具
  • KEIL5报 core_cm4.h(169): error:错误解决办法

    KEIL4的工程转到KEIL5上面出现 Core core cm4 h 169 error 5 cannot open source input file core cmInstr h No such file or directory 这
  • javascript脚本何时被执行

    javascript脚本何时被执行 javascript脚本可以嵌入在内的任意地方 但它何时被调用呢 当浏览器打开HTML文件后 会直接运行不是声明函数的脚本或通过事件调用脚本函数 下面分析这几种情况 1 浏览器在打开页面时执行脚本 当浏览
  • 漫谈软件测试工程师与mercury认证

    漫谈软件测试工程师与mercury认证 出自无忧网 作者 叶赫华 sinckyzhang hotmail com 自从本人从事软件测试培训以来 接触了太多的软件测试工程师 发觉从业者多数存在以下现象 刚刚毕业 踏入IT行业 不懂开发或开发经
  • git分离出分支

    git将历史提交的某个commit作为终点分离出一个新的分支 最近遇到了一个问题 需要从历史提交中的某次commit分离出一个新的分支 使用下面的命令 git checkout b 新分支名 某次commitId 例如 git checko
  • Vue3状态管理库Pinia——核心概念(Store、State、Getter、Action)

    个人简介 个人主页 前端杂货铺 学习方向 主攻前端方向 正逐渐往全干发展 个人状态 研发工程师 现效力于中国工业软件事业 人生格言 积跬步至千里 积小流成江海 推荐学习 前端面试宝典 Vue2 Vue3 Vue2 3项目实战 Node js
  • Filter

    Filter 过滤器 Filter 它是JavaWeb三大组件之一 另外两个是Servlet和Listener 它是在2000年发布的Servlet2 3规范中加入的一个接口 是Servlet规范中非常实用的技术 Filter是一个接口 如
  • Coding Block维护客户化字段

    转载自 http blog sina com cn s blog 4298a2c80102xhco html SAP系统是个各个模块高度集成 无缝衔接的系统 特别是财务模块与各个业务模块的集成程度 是比较高的 因此 财务核算时 会涉及的大量
  • Java 中的自动装箱和拆箱详解

    目录 1 Java 中的自动装箱 2 Java 中的自动拆箱 3 自动装箱和拆箱总结 4 在Java中怎样避免自动装箱和拆箱 1 Java 中的自动装箱 自动装箱是 Java 编译器在基本类型和它们对应的包装类之间进行的自动转换 例如 将
  • TCP协议,TCP报头及特点基础介绍

    目录 TCP协议 TCP协议特点 TCP协议适用场景 TCP包首部 什么是TCP连接 如何唯一确定一个TCP连接 有一个 IP 的服务器监听了一个端口 它的 TCP 的最大连接数是多少 TCP与UDP的区别 TCP协议 TCP是一种面向字节
  • 格式化 NameNode 提示 SHUTDOWN_MSG: Shutting down NameNode at xxx/xxx.xxx.xxx.xxx

    在使用 hadoop namenode format 格式化 NameNode 时 提示如下错误 SHUTDOWN MSG Shutting down NameNode at xxx xxx xxx xxx xxx 网上提示 需要让 hos
  • 蜣螂算法优化BP神经网络(DBOBP)数据预测分类模型

    代码运行效果截图
  • Spring事务传播行为,事务隔离级别以及事务失效的场景

    文章目录 事务的实现 事务的传播行为 propagation behavior 事务的隔离级别 事务失效的原因 访问权限 方法被final修饰 方法内部调用 解决办法 新加一个XxxHelpService类 解决办法 在该Service类中
  • 【1day】复现泛微OA某版本SQL注入漏洞

    注 该文章来自作者日常学习笔记 请勿利用文章内的相关技术从事非法测试 如因此产生的一切不良后果与作者无关 目录 一 漏洞描述 二 影响版本 三 资产测绘 四 漏洞复现 一 漏洞描述 泛微e cology是一款由泛微网络科技开发的协同管理平台
  • 活动报名|分布式人工智能:可扩展性、效率和泛化性

    2023年05月25日 星期四 14 00 15 30 智源社区 智源Live 第42期 线上活动将在线举办 阅读原文 报名即可参加 活动主题 分布式人工智能 可扩展性 效率和泛化性 安波 安波是新加坡南洋理工大学校长委员会讲席教授和南洋理
  • dc-8 靶机渗透学习

    信息收集 扫描当前网段 nmap sP 192 168 202 0 24 扫描开放端口 nmap A p v 192 168 202 147 访问靶机的80端口 用Wappalyzer识别框架 随便看看页面 简单对存在的参数进行sql测试
  • JNI字段描述符“([Ljava/lang/String;)V”

    Ljava lang String V 它是一种对函数返回值和参数的编码 这种编码叫做JNI字段描述符 JavaNative Interface FieldDescriptors 一个数组int 就需要表示为这样 I 如果多个数组doubl
  • 项目实训:bd搜索爬虫

    百度爬虫 1 requests库使用 2 lxml库使用 3 pandas库使用 4 数据清洗 5 数据分析可视化 结构分析 接下来的对目标爬虫的结构进行分析 爬虫思路 分析数据来源在哪 如何模拟的像真实用户 如果提取数据 如何保存数据 文
  • UE4 射线检测案例(C++)

    UE4 射线检测 C 开发场景 玩家 C 开发的 武器 C 射线检测函数 蓝图 C 效果 制作流程 添加开火按键映射 新建一个继承ACharacter的C 用蓝图继承刚刚新建的C 然后设置好游戏模式 我 这是是 用了一个枚举 其实你直接调用