首页 > 其他分享 >UE5 射线检测排除隐藏的Actor

UE5 射线检测排除隐藏的Actor

时间:2023-12-14 16:55:20浏览次数:36  
标签:检测 Actor 排除 射线 UE5 方法 隐藏

0x00

Unreal Engine 5(UE5)以其卓越的性能和直观的开发工具在游戏开发领域占据了重要地位。本系列将深入探讨UE5中射线检测的关键概念,着重介绍处理隐藏Actor的技巧。

0x01. 射线检测与隐藏Actor问题

在游戏中,射线检测是一项关键技术,用于实现玩家与虚拟环境的交互。然而,处理射线检测时排除隐藏的Actor是一个常见而需要小心处理的问题。在特定场景下,我们可能需要排除那些在屏幕上不可见、被隐藏的Actor,以确保交互的准确性。

0x02 正确排除隐藏的Actor的方法

在UE5中,一个常见的误解是使用ECC_Visibility碰撞频道来尝试排除隐藏的Actor。然而,这种方法是不正确的,因为ECC_Visibility主要关注物体是否可见,而不考虑它们是否被隐藏。

0x03 方法1:将Actor的Scale设置为0

在射线检测中,隐藏Actor的一种常见方法是将其Scale属性设置为0。这种方法在大多数情况下是有效的,因为它使Actor在屏幕上变得不可见。然而,需要注意的是,这并不是一种完全严谨的方法。尽管在屏幕上看不到Actor(因为它的尺寸为0),但Actor仍然存在于虚拟世界中,而且可能仍然会与射线碰撞。

0x04 # 方法2:使用Ignore Actors

另一种排除隐藏Actor的方法是在进行射线检测时设置忽略的Actor。在UE的射线检测函数中,通常有一个参数可以传递忽略的Actor数组。将隐藏的Actor添加到这个数组中,射线就会忽略这些Actor,从而达到排除隐藏Actor的效果。

在隐藏Actor的时候,同时把actor添加到这个数组中即可。

0x05 # 方法3:修改Actor的碰撞属性

隐藏Actor的同时,将其碰撞属性设置为不可碰撞是另一种方法。通过将Actor的碰撞属性设置为不可碰撞,射线在进行碰撞检测时会忽略这些被隐藏的Actor。

0x06 # 为什么ECC_Visibility不能直接排除隐藏Actor

ECC_Visibility主要关注物体的可见性,而不仅仅是它们是否显示在屏幕上。即使一个Actor被隐藏,它在可见性碰撞频道上依然存在碰撞体积,因此仍然会被射线检测所考虑。这就是为什么ECC_Visibility不能直接用于排除隐藏Actor的原因。

0x07 总结

在射线检测中,正确排除隐藏的Actor是确保游戏交互准确性的关键步骤。每种方法都有其适用的场景,开发者可以根据项目的具体需求选择最合适的方法。在选择方法时,需要考虑方法的性能、准确性以及对项目整体架构的影响。通过深入理解每种方法的原理,开发者可以更好地处理射线检测中的隐藏Actor排除问题。

结尾

最后,关注公号“ITMan彪叔” 可以添加作者微信进行交流,及时收到更多有价值的文章。

标签:检测,Actor,排除,射线,UE5,方法,隐藏
From: https://www.cnblogs.com/flyfox1982/p/17901534.html

相关文章

  • 隐藏IAT和字符串
    隐藏IAT和字符串0x01IATIAT即导入表,它记录了我们的文件用了哪些函数。在杀软检测恶意程序时,导入表是一个重要的检测项,比如说我们的程序调用了VirtualAlloc、CreateThread,且VirtualAlloc的最后一个参数是0x40(即PAGE_EXECUTE_READWRITE),那么在杀软看来,我们的程序就是一个高危......
  • css图片等比放大居中|超出部分隐藏
    图片等比放大居中在一些情况下需要保证图片缩略图窗口大小固定,但是图片分辨率比例多种多样,需要在展示固定比例的窗口下展示不同分辨率的图片,还需保证展示的图片不被拉伸变形,保持原有比例的基础上进行等比放大。//外层.img-box{//等比放大图片,超出部分隐藏width:1......
  • Unreal C++自定义Actor设置StaticMesh和Material
    1.新建第三人称c++游戏(其它模板开局也可以的)2.新建继承自Actor的c++类3.添加静态网格体成员SM_MyActor,并在构造函数中进行相应的初始化UCLASS()classMYPROJECT9S_APIAMyActor:publicAActor{GENERATED_BODY()protected:/**Pleaseaddavariabledescripti......
  • 图片铺满div元素不变形,超出部分隐藏,保留中心部分css代码
    在我们网站更新文章的时候,经常会插入图片,丰富信息。但是我们插入的图片长宽比例并不一定是固定的。我们在调用缩略图的时候,常常会出现图片变形的情况,高和宽不成比例。那么如何让图片不变形,又能铺满div元素呢?我们可以使用css代码中object-fit属性来实现。object-fit属性指定元素的......
  • WPF 制作三个点从左到右过渡隐藏显示
     Code:<Windowx:Class="WpfApp1.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.micros......
  • Reactor模型
    目录1.Reactor模型是什么2.Reactor模型应用场景3.使用Reactor模型的软件4.Reactor模型与Actor模型的关系本文主要介绍Reactor模型基本概念以及应用场景。1.Reactor模型是什么Reactor模型是一种事件驱动的设计模式,用于处理服务请求,它是由一个或多个并发输入源同时发送给......
  • Spring的FactoryBean接口的作用
    FactoryBean是Spring提供的一个接口,通过实现这个接口可以定制实例化bean。FactoryBean接口对于Spring框架来说占有重要的地位,Spring自身就提供了70多个FactoryBean的实现。它们隐藏了实例化一些复杂bean的细节,给上层应用带来了便利。Spring为什么使用FactoryBean一......
  • js 默认展示两行多余隐藏滑动及添加滑动条
    <divclass="nav-box"@scroll="scroll"><divfor="list"class="nav"><divclass="item-box">item</div></div></div><divclass="scroll-box"v-show=&q......
  • Graph regularized non-negative matrix factorization with prior knowledge consist
    Graphregularizednon-negativematrixfactorizationwithpriorknowledgeconsistencyconstraintfordrug-targetinteractionspredictionJunjunZhang 1, MinzhuXie 2 3Affiliations expandPMID: 36581822 PMCID: PMC9798666 DOI: 10.1186/s1285......
  • Graph regularized non-negative matrix factorization with [Formula: see text] nor
    Graphregularizednon-negativematrixfactorizationwith[Formula:seetext]normregularizationtermsfordrug-targetinteractionspredictionJunjunZhang 1, MinzhuXie 2 3Affiliations expandPMID: 37789278 PMCID: PMC10548602 DOI: 10.11......