【虚幻C++笔记】碰撞检测
目录
- 碰撞检测
- 参数详情
- 示例用法
碰撞检测
显示名称 | 中文名称 | C++ |
---|---|---|
Sphere Trace By Channel | 按通道进行球体追踪 | UKismetSystemLibrary::SphereTraceSingle |
Sphere Trace By Profile | 按描述文件进行球体追踪 | UKismetSystemLibrary::SphereTraceSingleByProfile |
Sphere Trace For Objects | 针对Object进行球体追踪 | UKismetSystemLibrary::SphereTraceSingleForObjects |
Multi Sphere Trace By Channel | 按通道进行多球体追踪 | UKismetSystemLibrary::SphereTraceMulti |
Multi Sphere Trace By Profile | 按描述文件进行多球体追踪 | UKismetSystemLibrary::SphereTraceMultiByProfile |
Multi Sphere Trace For Objects | 针对object进行多球体追踪 | UKismetSystemLibrary::SphereTraceMultiForObjects |
Box Trace By Channel | 按通道进行盒体追踪 | UKismetSystemLibrary::BoxTraceSingle |
Box Trace By Profile | 按描述文件进行盒体追踪 | UKismetSystemLibrary::BoxTraceSingleByProfile |
Box Trace For Objects | 针对Object进行盒体追踪 | UKismetSystemLibrary::BoxTraceSingleForObjects |
Multi Box Trace By Channel | 按通道进行多盒体追踪 | UKismetSystemLibrary::BoxTraceMulti |
Multi Box Trace By Profile | 按描述文件进行多盒体追踪 | UKismetSystemLibrary::BoxTraceMultiByProfile |
Multi Box Trace For Objects | 针对object进行多盒体追踪 | UKismetSystemLibrary::BoxTraceMultiForObjects |
Line Trace By Channel | 按通道进行线条追踪 | UKismetSystemLibrary::LineTraceSingle |
Line Trace By Profile | 按描述文件进行线条追踪 | UKismetSystemLibrary::LineTraceSingleByProfile |
Line Trace For Objects | 针对object进行线条追踪 | UKismetSystemLibrary::LineTraceSingleForObjects |
Multi Line Trace By Channel | 按通道进行多线条追踪 | UKismetSystemLibrary::LineTraceMulti |
Multi Line Trace By Profile | 按描述文件进行多线条追踪 | UKismetSystemLibrary::LineTraceMultiByProfile |
Multi Line Trace For Objects | 针对object进行多线条追踪 | UKismetSystemLibrary::LineTraceMultiForObjects |
Capsule Trace By Channel | 按通道进行胶囊体追踪 | UKismetSystemLibrary::CapsuleTraceSingle |
Capsule Trace By Profile | 按描述文件进行胶囊体追踪 | UKismetSystemLibrary::CapsuleTraceSingleByProfile |
Capsule Trace For Objects | 针对object进行胶囊体追踪 | UKismetSystemLibrary::CapsuleTraceSingleForObjects |
Multi Capsule Trace By Channel | 按通道进行多胶囊体追踪 | UKismetSystemLibrary::CapsuleTraceMulti |
Multi Capsule Trace By Profile | 按描述文件进行多胶囊体追踪 | UKismetSystemLibrary::CapsuleTraceMultiByProfile |
Multi Capsule Trace For Objects | 针对object进行多胶囊体追踪 | UKismetSystemLibrary::CapsuleTraceMultiForObjects |
参数详情
输入引脚
- Start:射线起点的位置。
- End:射线终点的位置。
- Radius:球体的半径。
- Trace Channel:碰撞通道,用于指定哪些类型的物体可以被检测到。常见的通道包括 Visibility、Camera、WorldStatic 等。
- bTrace Complex:是否启用复杂碰撞几何体的检测。如果设置为 True,则会检测复杂的静态网格体;如果设置为 False,则只检测简单的碰撞盒。
- bFind Initial Overlap:是否检测初始重叠。如果设置为 True,则会在起点处检测是否有重叠的物体。
- bIgnore Self:是否忽略自身物体的碰撞。如果设置为 True,则不会检测到执行该节点的物体本身。
- Actor to Ignore:需要忽略的特定 Actor。你可以在这里指定一个或多个 Actor,使其不参与碰撞检测。
- bShow Trace:是否在编辑器中显示射线追踪的可视化效果。这在调试时非常有用。
- bPersistent Show Trace:是否持续显示射线追踪的可视化效果。如果设置为 True,即使游戏停止,也会继续显示。
输出引脚
- Out Hit:如果检测到碰撞,这里会返回一个 Hit Result 结构体,包含碰撞的详细信息,如碰撞位置、碰撞物体等。
- Return Value:布尔值,表示是否检测到碰撞。如果检测到碰撞,返回 True;否则返回 False。
示例用法
const FVector ActorLocation = GetActorLocation();TArray<TEnumAsByte<EObjectTypeQuery>> ObjectTypes;ObjectTypes.Emplace(EObjectTypeQuery::ObjectTypeQuery1); // WorldStaticObjectTypes.Emplace(EObjectTypeQuery::ObjectTypeQuery2); // WorldDynamicObjectTypes.Emplace(EObjectTypeQuery::ObjectTypeQuery3); // PawnObjectTypes.Emplace(EObjectTypeQuery::ObjectTypeQuery4); // PhysicsBodyObjectTypes.Emplace(EObjectTypeQuery::ObjectTypeQuery5); // VehicleObjectTypes.Emplace(EObjectTypeQuery::ObjectTypeQuery6); // DestructibleTArray<FHitResult> HitResults;TArray<AActor*> ActorsToIgnore;ActorsToIgnore.Add(this); // 忽略自身if (UKismetSystemLibrary::SphereTraceMultiForObjects(GetWorld(), ActorLocation, ActorLocation, Area, ObjectTypes,false, ActorsToIgnore, EDrawDebugTrace::ForDuration, HitResults, true)){for (FHitResult HitResult : HitResults) {if (HitResult.GetActor() != nullptr) {ApplyEffectToTarget(HitResult.GetActor());}}}
相关文章:
【虚幻C++笔记】碰撞检测
目录 碰撞检测参数详情示例用法 碰撞检测 显示名称中文名称CSphere Trace By Channel按通道进行球体追踪UKismetSystemLibrary::SphereTraceSingleSphere Trace By Profile按描述文件进行球体追踪UKismetSystemLibrary::SphereTraceSingleByProfileSphere Trace For Objects针…...
C++学习:六个月从基础到就业——STL:分配器与设计原理
C学习:六个月从基础到就业——STL:分配器与设计原理 本文是我C学习之旅系列的第三十篇技术文章,也是第二阶段"C进阶特性"的第九篇,主要介绍C STL中的分配器设计原理与实现。查看完整系列目录了解更多内容。 引言 在之前…...

【Android】四大组件之Service
目录 一、什么是Service 二、启停 Service 三、绑定 Service 四、前台服务 五、远程服务扩展 六、服务保活 七、服务启动方法混用 你可以把Service想象成一个“后台默默打工的工人”。它没有UI界面,默默地在后台干活,比如播放音乐、下载文件、处理…...

TRO再添新案 TME再拿下一热门IP,涉及Paddington多个商标
4月2日和4月8日,TME律所代理Paddington & Company Ltd.对热门IP Paddington Bear帕丁顿熊的多类商标发起维权,覆盖文具、家居用品、毛绒玩具、纺织用品、游戏、电影、咖啡、填充玩具等领域。跨境卖家需立即排查店铺内的相关产品! 案件基…...
spring-session-data-redis使用
spring-session-data-redis是spring session项目中的一个子模块,,他允许你使用Redis来存储http session,,从而支持多个应用实例之间共享session,,,即分布式session 原理: EnableRed…...
图论---LCA(倍增法)
预处理 O( n logn ),查询O( log n ) #include<bits/stdc.h> using namespace std; typedef pair<int,int> pii; const int N40010,M2*N;//是无向边,边需要见两边int n,m; vector<int> g[N]; //2的幂次范围 0~15 int depth[N],fa[N][1…...
WPF实现类似Microsoft Visual Studio2022界面效果及动态生成界面技术
WPF实现类似VS2022界面效果及动态生成界面技术 一、实现类似VS2022界面效果 1. 主窗口布局与主题 <!-- MainWindow.xaml --> <Window x:Class"VsStyleApp.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x…...
【安全扫描器原理】网络扫描算法
【安全扫描器原理】网络扫描算法 1.非顺序扫描2.高速扫描 & 分布式扫描3.服务扫描 & 指纹扫描 1.非顺序扫描 参考已有的扫描器,会发现几乎所有的扫描器都无一例外地使用增序扫描,即对所扫描的端口自小到大依次扫描,殊不知࿰…...

WPF之项目创建
文章目录 引言先决条件创建 WPF 项目步骤理解项目结构XAML 与 C# 代码隐藏第一个 "Hello, WPF!" 示例构建和运行应用程序总结相关学习资源 引言 Windows Presentation Foundation (WPF) 是 Microsoft 用于构建具有丰富用户界面的 Windows 桌面应用程序的现代框架。它…...
Unity中数据储存
在Unity项目开发中,会有很多数据,有需要保存到本地的数据,也有直接保存在缓存中的临时数据,一般为了方便整个项目框架中各个地方能调用需要的数据,因此都会实现一个数据工具或者叫数据管理类,用来管理项目中所有的数据。 首先保存在缓存中的数据,比如用户信息,我们只需…...
第十一天 主菜单/设置界面 过场动画(Timeline) 成就系统(Steam/本地) 多语言支持
前言 对于刚接触Unity的新手开发者来说,构建完整的游戏系统往往充满挑战。本文将手把手教你实现游戏开发中最常见的四大核心系统:主菜单界面、过场动画、成就系统和多语言支持。每个模块都将结合完整代码示例,使用Unity 2022 LTS版本进行演示…...

AI数字人:未来职业的重塑(9/10)
摘要:AI 数字人凭借计算机视觉、自然语言处理与深度学习技术,从虚拟形象进化为智能交互个体,广泛渗透金融、教育、电商等多领域,重构职业生态。其通过降本提效、场景拓展与体验升级机制,替代重复岗位工作,催…...
Android插拔U盘导致黑屏问题排查
问题现象: 车机大屏偶先插拔带音乐的U盘,导致车机系统短暂黑屏的情况。 日志中可以看到vold进程unmount了两次分区,一次是U盘分区,一次是/storage/emulated/0分区: I vold : Start killProcesses: /mnt/media_rw/…...

深入解析Mlivus Cloud中的etcd配置:最佳实践与高级调优指南
作为大禹智库的向量数据库高级研究员,我在《向量数据库指南》一书中详细阐述了向量数据库的核心组件及其优化策略。今天,我将基于30余年的实战经验,深入剖析Mlivus Cloud中etcd这一关键依赖的配置细节与优化方法。对于希望深入掌握Mlivus Cloud的读者,我强烈建议参考《向量…...
分享一个可以批量巡检GET和POST接口的Shell脚本
一、场景痛点与需求分析 在分布式系统架构中,服务接口的可用性和稳定性直接影响业务连续性。当面临以下场景时,需批量巡检GET和POST接口: 上线验证:新版本发布后批量验证核心接口 故障恢复:异常数据修复后的批量重试…...

前端面试宝典---vue原理
vue的Observer简化版 class Observer {constructor(value) {if (!value || typeof value ! object) returnthis.walk(value) // 对对象的所有属性进行遍历并定义响应式}walk (obj) {Object.keys(obj).forEach(key > defineReactive(obj, key, obj[key]))} } // 定义核心方法…...

PyTorch卷积层填充(Padding)与步幅(Stride)详解及代码示例
本文通过具体代码示例讲解PyTorch中卷积操作的填充(Padding)和步幅(Stride)对输出形状的影响,帮助读者掌握卷积层的参数配置技巧。 一、填充与步幅基础 填充(Padding):在输入数据边缘…...
2025年Redis分片存储性能优化指南
一、分片规则与负载均衡 动态哈希分片 采用CRC16算法计算键哈希值,通过hash_slot CRC16(key) % 16384确定槽位分布,结合Redis Cluster自动管理槽位迁移。 总分片数按需动态调整,例如从16节点扩容至32节点时,触发槽位重分配以…...
【概念】什么是 JWT Token?
—什么是 JWT Token? JWT Token(JSON Web Token) 就是一张后端发给前端的小票,里面包含用户身份信息,用于做无状态认证(Stateless Authentication)。 每次前端访问后端接口,都拿着…...
部署大模型需要多少GPU显存?以DeepSeek R1部署为例
引言 部署大型语言模型(LLM)时究竟需要多少GPU显存?本文将进行一次简单测算。 如何计算 算法1 可以用一个简单的公式来计算显存占用(单位GB): 参数说明如下: 符号 含义 M 所需的 GPU 显存…...

用go从零构建写一个RPC(仿gRPC,tRPC)--- 版本1
希望借助手写这个go的中间件项目,能够理解go语言的特性以及用go写中间件的优势之处,同时也是为了更好的使用和优化公司用到的trpc,并且作者之前也使用过grpc并有一定的兴趣,所以打算从0构建一个rpc系统,对于生产环境已…...
Fedora 43 计划移除所有 GNOME X11 相关软件包
Fedora 43 计划移除所有 GNOME X11 相关软件包,这是 Fedora 项目团队为全面拥抱 Wayland 所做的重要决策。以下是关于此计划的详细介绍: 提案内容:4 月 23 日,Neal Gompa 提交提案,建议从 Fedora 软件仓库中移除所有 G…...

django之账号管理功能
账号管理功能 目录 1.账号管理页面 2.新增账号 3.修改账号 4.账号重置密码 5.删除账号功能 6.所有代码展示集合 7.运行结果 这一片文章, 我们需要新增账号管理功能, 今天我们写到的代码, 基本上都是用到以前所过的知识, 不过也有需要注意的细节。 一、账号管理界面 …...
搭建spark-local模式
要搭建Spark的local模式,你可以按照以下步骤进行操作(以在Linux系统上安装为例,假设你已经安装了Java环境): 1. 下载Spark安装包:访问Spark官方网站(https://spark.apache.org/downloads.html&a…...

月之暗面开源 Kimi-Audio-7B-Instruct,同时支持语音识别和语音生成
我们向您介绍在音频理解、生成和对话方面表现出色的开源音频基础模型–Kimi-Audio。该资源库托管了 Kimi-Audio-7B-Instruct 的模型检查点。 Kimi-Audio 被设计为通用的音频基础模型,能够在单一的统一框架内处理各种音频处理任务。主要功能包括: 通用功…...

IDEA配置将Servlet真正布署到Tomcat
刚开始只能IDEA运行完Servlet web application 并保持IDEA运行才能通过浏览器访问到我的Servlet,跟想象中的不一样,不应该是IDEA运行完项目以后只要打开Tomcat就能访问吗?事实时运行完项目只要关掉IDEA就不能再访问到应用了,而且T…...
删除新安装IBM Guardium Data Protection 12.1的baltimorecybertrustroot证书
登录web console,会显示 baltimorecybertrustroot证书过期警告。 采用下面的命令删除过期证书就可消除警告。 collector02.cpd.com> delete certificate keystore Select an alias from the list below to delete the corresponding certificate. Alias List:…...
【蓝桥杯】画展布置
画展布置 题目描述 画展策展人小蓝和助理小桥为即将举办的画展准备了 N N N 幅画作,其艺术价值分别为 A 1 , A 2 , … , A N A_1, A_2, \dots , A_N A1,A2,…,AN。他们需要从这 N N N 幅画中挑选 M M M 幅,并按照一定顺序布置在展厅的 M M …...
请求参数、路径参数、查询参数、Spring MVC/FeignClient请求相关注解梳理
目录 1 请求分类1.1 URL参数--查询参数1.2 URL参数--路径参数 2 请求相关注解2.1 RequestParam--查询参数2.2 PathVariable--路径参数2.3 RequestBody2.4 Param & RequestLine2.5 SpringMVC请求参数注解用在FeignClient里 使用SpringMVC处理http请求或使用FeignClient进行请…...
MySQL 详解之复制与集群:构建高可用与可扩展数据库架构
随着业务的发展,单一的数据库实例往往难以满足需求: 性能瓶颈: 读写请求量不断增加,单个服务器的 CPU、内存、磁盘、网络资源达到上限,尤其是读请求远大于写请求的场景。高可用性: 单个服务器一旦发生故障(硬件故障、操作系统问题、机房断电等),数据库服务将完全中断,…...