UE小:在Unreal Engine 5中实现多层静态网格体遮挡拾取

问题描述

当需要拾取被多层静态网格体遮挡的对象时,若所有网格体碰撞预设为BlockAll,需要通过特殊配置实现穿透检测。


完整实现方案

1. 创建自定义追踪通道

  1. 进入 ​项目设置(Project Settings) > 碰撞(Collision)​
  2. 在 ​追踪通道(Trace Channels)​ 下添加新通道(如 MultiTrace

2. 调整静态网格体碰撞响应

  1. 将需要穿透的静态网格体碰撞预设改为 ​Custom
  2. 设置新建的 MultiTrace 通道响应为 ​Overlap
  3. 其他通道保持 ​Block 维持原有碰撞行为

3. 蓝图实现

项目设置初始化
  1. 项目设置 > 碰撞 > 添加追踪通道 “MultiTrace”
静态网格体配置
  1. 静态网格体属性 > 碰撞预设 > Custom
  2. MultiTrace 响应设置为 Overlap
  3. 其他通道保持 Block
射线检测逻辑
  1. Line Trace Multi by Channel (Trace Channel: MultiTrace, Start, End)
  2. 获取返回的 Out Hits 数组
  3. 使用数组节点获取 Last Element
  4. 处理 Last Hit 中的 Hit Actor

4. C++实现

void YourClass::PerformMultiTrace()
{UWorld* World = GetWorld();if (!World) return;FVector Start = ...; // 射线起点FVector End = ...;   // 射线终点TArray<FHitResult> Hits;FCollisionQueryParams Params;Params.bTraceComplex = true;bool bHit = World->LineTraceMultiByChannel(Hits,Start,End,ECC_GameTraceChannel1, // 替换为自定义通道枚举Params);if (bHit && Hits.Num() > 0){FHitResult& LastHit = Hits.Last();if (AActor* HitActor = LastHit.GetActor()){UE_LOG(LogTemp, Log, TEXT("Hit Actor: %s"), *HitActor->GetName());}}
}

参数说明表

参数/节点作用
LineTraceMultiByChannel穿透多层物体的射线检测方法
bTraceComplex启用三角面层级的精确碰撞检测
ECC_GameTraceChannel1需替换为项目中实际的自定义通道枚举名
Hits.Last()按射线发射方向排序的最终命中对象

无论前面挡着多少东西也要检测到的对象:

在这里插入图片描述

挡在前面的东西:

在这里插入图片描述

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

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

相关文章

wireshark抓包分析数据怎么看 wireshark使用教程_wireshark怎么看

Wireshark与Sniff Master&#xff1a;网络抓包工具使用指南 网络抓包分析是开发测试和网络故障排查中不可或缺的技能。在众多抓包工具中&#xff0c;Wireshark无疑是最流行且功能强大的选择&#xff0c;而Sniff Master作为后起之秀&#xff0c;也因其简洁高效的特点受到许多专…

密码学基础——古典密码学

目录 一、定义 特点&#xff1a; 二、发展阶段 三、代换密码 1.单表代换密码 1.1恺撒密码 1.2 移位变换 1.3 仿射变换 2.多表代换密码 维吉尼亚密码 四、置换密码 栅栏密码 一、定义 古典密码学是指在现代密码学出现之前&#xff0c;使用较为简单的数学方法和手工…

【案例分享】江苏某汽车制造厂水冷式制冷站AI节能优化方案

主要诉求&#xff1a; 对B系统进行AI节能优化&#xff1a;3台离心机1台螺杆机板式换热器 优化前后对比&#xff1a; ⚫ 优化前&#xff1a;根据人工经验判断冷机和板换的启停&#xff0c;PLC固定逻辑调节参数 ⚫优化后&#xff1a;根据冷负荷对工况进行分类&#xff0c;自动…

vue+springboot 新增操作,前端id传string,后端接收为long类型,报错类型不匹配——解决方法

我在做新增功能的时候&#xff0c;做了一个逻辑判断&#xff0c;当前端没有传递对应的id值时&#xff0c;为新增&#xff1b;有id值时&#xff0c;为修改 问题一、&#xff1a;前端idundefined&#xff0c;和我的需求不符合&#xff0c;我要id为空&#xff0c;不传值。最后发现…

vue前端项目技术架构(第二版)

vue技术架构介绍 如下图所示&#xff0c;展示了项目系统的软件层次架构。该系统采用基于SOA&#xff08;面向服务架构&#xff09;思想的分层架构&#xff0c;分为四个主要层次&#xff1a;视图层、编译层、代码层和数据层。 视图层 浏览器&#xff1a;核心职责是解析并展示…

在服务器里面磁盘分区很简单吗?

不管是我们的普通办公电脑还是服务器都是需要硬盘的&#xff0c;硬盘的类型分机械硬盘&#xff08;HDD&#xff09;和固态硬盘&#xff08;SSD&#xff09;&#xff0c;这两种磁盘是我们平常最常见的硬盘您他们又有什么区别 机械硬盘&#xff08;HDD&#xff09; 原理&#xff…

Pycharm(十一):字符串练习题

1.输入一个字符串&#xff0c;打印所有偶数位上的字符(下标是0&#xff0c;2&#xff0c;4&#xff0c;6...位上的字符) # 练习题1:输入一个字符串&#xff0c;打印所有偶数位上的字符(下标是0&#xff0c;2&#xff0c;4&#xff0c;6...位上的字符) # 1.键盘录入字符串&…

虚幻5入门

常用操作 运行时&#xff0c;调试相机&#xff0c;按~键&#xff0c;输入ToggleDebugCamera 。进入自由视角 常用节点 gate节点&#xff1a;用于控制该流程通不通&#xff0c;执不执行。Flip Flop节点&#xff1a;反转执行&#xff0c;一次A&#xff0c;一次B。Set Timer by…

Prompt Flow 与 DSPy:大型语言模型开发的未来

作为一名大模型算法工程师&#xff0c;我一直在探索如何更高效地开发和优化基于大型语言模型&#xff08;LLM&#xff09;的应用程序。随着模型规模的不断扩大和应用场景的日益复杂&#xff0c;传统的开发方式已经难以满足高效、灵活和可扩展的需求。幸运的是&#xff0c;Promp…

Prompt攻击是什么

什么是Prompt攻击 Prompt攻击(Prompt Injection/Attack) 是指通过精心构造的输入提示(Prompt),诱导大语言模型(LLM)突破预设安全限制、泄露敏感信息或执行恶意操作的攻击行为。其本质是利用模型对自然语言的理解漏洞,通过语义欺骗绕过防护机制。 Prompt攻击的精髓:学…

Python 数据类型 - 集合(set)

Python 数据类型 - 集合(set) 1. 集合简介 集合(set)是Python中的一种无序、可变、不重复元素的容器数据类型。集合的主要用途&#xff1a; 快速成员检测&#xff08;判断元素是否存在&#xff09;去除重复项执行数学集合运算&#xff08;并集、交集、差集等&#xff09; 2.…

Profibus DP主站转Modbus TCP网关配置文件制作

Profibus DP主站转Modbus TCP网关配置文件制作 1、首先打开配置文件制作软件SST Profibus Configuration&#xff1a; 2、点击“Library”选择GSD文件所在文件夹找到后点击打开导入GSD文件: 3、点开Masters、molex选择主站设备&#xff1a; 4、双击添加后地址保存默认0就可以&…

如何批量拆分Excel工作表或按行拆分Excel表格 - Excel拆分器使用方法

在数据分析和处理的日常工作中&#xff0c;Excel文件因其强大的数据管理和计算能力而广受欢迎。然而&#xff0c;当面对庞大的Excel工作簿&#xff0c;特别是需要将其拆分为多个独立文件时&#xff0c;传统的操作方法往往会显得繁琐且效率低下。为了解决这一难题&#xff0c;Ex…

JavaScript基础-移动端常见特效

随着移动互联网的发展&#xff0c;为移动设备优化的网页变得越来越重要。JavaScript在实现移动端特有的交互体验中扮演着关键角色。本文将介绍几种常见的移动端特效&#xff0c;并通过具体的代码示例展示如何使用JavaScript和相关技术来创建这些特效。 一、手势识别 &#xf…

ui-tars和omni-parser使用

ui-tars部署和训练 说明快速开始环境准备ui-tars web推理和训练ui-tars api部署omni-parser使用 说明 镜像中包含ui-tars、llama-factory和omni-parser。该镜像还在审批中&#xff0c;估计明天可以上线&#xff0c;到时候可以在auto-dl中的社区镜像搜索。 快速开始 使用auto…

TF-IDF——自然语言处理——红楼梦案例

目录 一、红楼梦数据分析 &#xff08;1&#xff09;红楼梦源文件 &#xff08;2&#xff09;数据预处理——分卷实现思路 &#xff08;3&#xff09;分卷代码 二、分卷处理&#xff0c;删除停用词&#xff0c;将文章转换为标准格式 1.实现的思路及细节 2.代码实现&#…

【NLP 面经 5】

难以承受的东西只会让我在下一次更平静的面对 —— 25.4.2 一、NER任务&#xff0c;CRF模型改进 命名实体识别&#xff08;NER&#xff09;任务中&#xff0c;你使用基于条件随机场&#xff08;CRF&#xff09;的模型&#xff0c;然而模型在识别嵌套实体和重叠实体时效果不佳&a…

机器学习之回归算法

《数据挖掘技术与应用》 【实验名称】 实验&#xff1a;回归算法 【实验目的】 1.了解回归算法理论基础 2.平台实现算法 3. 编程实现分类算法 【实验原理】 线性回归是利用数理统计中回归分析&#xff0c;来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法&…

Cline源码分析

Cline源码分析 --- vscode插件开发与cline的界面系统 vscode插件开发基础知识开发基础‌核心概念核心API调试与发布调试 学习路线React开发界面前端代码分析package.jsonview/title&#xff08;视图标题栏菜单&#xff09;‌editor/title&#xff08;编辑器标题栏菜单&#xff…

k8s EmptyDir(空目录)详解

1. 定义与特性 emptyDir 是 Kubernetes 中一种临时存储卷类型&#xff0c;其生命周期与 Pod 完全绑定。当 Pod 被创建时&#xff0c;emptyDir 会在节点上生成一个空目录&#xff1b;当 Pod 被删除时&#xff0c;该目录及其数据会被永久清除。它主要用于同一 Pod 内多个容器间的…