UE5 物理模拟 与 触发检测

碰撞

条件

1必须有网格体组件
2网格体组件必须有网格,没有网格虽然可以开启物理模拟,但是不会有任何效果
注意开启的模拟的网格体组件会计算自己和所有子网格的mesh范围
3只有网格体组件可以开启物理模拟
4 碰撞双方对对方的通道必须都设置为阻挡,本物体的通道如下
在这里插入图片描述

开启模拟

SetActorEnableCollision:设置Actor启用碰撞
Set Simulate Enable:开启物理模拟
Get Component by class:查找网格体组件
在这里插入图片描述

关闭模拟

上边反过来

多层级的Mesh

启用哪个Mesh的物理模拟和碰撞,就会计算该mesh下的所有Mesh,但是如果子mesh设置了不检测特定的层,那么父mesh的物理模拟不会对忽略的层有反应

UE的BUG

一旦开启物理模拟,会导致网格体和根物体分离,虽然还是一个物体,但选中网格时,根物体会保持在分离前的位置不再移动
解决方案:
让网格体组件做根物体。
方法:
新建一个网格体组件,直接拖到根物体身上,注意不是拖到物体名上。
扩展:
对于枪械,他的网格体可能时静态网格体,也可能时骨骼网格体,如果简单的把某一种网格体作为跟节点,会导致另一个网格体不被支持。
所以我们要用静态网格体做为根物体,在weapon的子类中,如ak47,再在根物体下新建一个网格体,拖入真正的模型
但是这样又会导致根物体没有网格,进而开启物理模拟无效,方案是拖入一个非常小的网格,新建一个盒体笔刷,大小调到0.1,然后点击创建静态网格体,生成一个smallcube,将这个smallcube设置为武器基类的root静态网格体的网格,这样就可以激活物理模拟
在这里插入图片描述

触发

触发条件

和碰撞的条件类似,但是只要有一方对另一方的通道设置为重叠或阻挡即可
注意,是指响应触发事件的网格体的通道设置,其他网格体的设置不会影响触发结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值