当前位置: 首页 > news >正文

【虚幻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());}}}
http://www.xdnf.cn/news/154243.html

相关文章:

  • 探秘卷积神经网络:深度学习的图像识别利器
  • 【Linux网络】构建HTTP响应与请求处理系统 - HttpResponse从理解到实现
  • 常见的机器视觉通用软件
  • JDBC数据库操作中如何保证最后关闭了所占用的资源——try用法的细节控制
  • k8s中资源的介绍及标准资源namespaces实践
  • 如何在 Conda 环境中降级 Python 版本:详细指南
  • H.264/AVC标准主流开源编解码器编译说明
  • 2025第十六届蓝桥杯大赛(软件赛)网络安全赛 Writeup
  • MyBatis缓存配置的完整示例,包含一级缓存、二级缓存、自定义缓存策略等核心场景,并附详细注释和总结表格
  • Prometheus、Zabbix和Nagios针对100个节点的部署设计架构图
  • PyTabKit:比sklearn更强大的表格数据机器学习框架
  • 性能提升手段--池化技术
  • 机器学习之一:机械式学习
  • 【学习笔记】检索增强生成(RAG)技术
  • flutter 引擎初始化
  • React Router v7 从入门到精通指南
  • Android学习总结之ANR问题
  • 学习笔记:Qlib 量化投资平台框架 — GETTING STARTED
  • 【SpringBoot】WebConfig 跨域配置详细说明
  • 聊聊Spring AI Alibaba的YuQueDocumentReader
  • [Lc day] 滑动窗口 | hash | 前缀和 | 维护区间最值子数组
  • JSP实现用户登录注册系统(三天内自动登录)
  • ASAM MDF 文件格式简介:测量数据的标准化存储
  • 【漫话机器学习系列】225.张量(Tensors)
  • 【Linux网络】构建与优化HTTP请求处理 - HttpRequest从理解到实现
  • 【Android】四大组件之Service
  • WPF实现多语言切换
  • ubantu18.04(Hadoop3.1.3)之Spark安装和编程实践
  • 设计一个关键字统计程序:利用HashMap存储关键字统计信息,对用户输入的关键字进行个数统计。
  • Spring Boot 3.4.5 运行环境需求