蓝图学习-----06

碰撞

 

常见碰撞预设: BlockAll(阻挡所有,不管静态动态)BlockAllDynamic(阻挡所有动态)OverlapAll(重叠所有) NoCollision(无碰撞)。注意:NoCollision和Overlap视觉上是一致的,但不一样。

(所谓的物体静态动态即是它的可移动性,动态就是可移动)

碰撞的3种状态:BeginOverlap 、EndOverlap、Hit(2个刚体之间)。

     

注意overlap和hit要播放时有效果还需要勾选

 

蓝图中对碰撞3种状态的调用:选中场景对象,选择碰撞事件。

节点说明:

overlaped actor 即是本体对象。other actor是碰撞到本体对象的碰撞体对象。

拆分hit数据引脚。Blocking Hit:是否产生hit碰撞。Location:碰撞体(非本体)的坐标。impact point:碰撞点坐标。

Hit actor和hit节点中的other actor相同。

  

 

 

节点测试:

 

overlap测试:进出cubemesh对象时候,触发beginoverlap和endoverlap,输出文本。(注意把 “生成overlap事件”勾选)。

  

进cubemesh对象时候,触发beginoverlap摧毁碰撞对象。(注意把 “生成overlap事件”勾选)。

 

 

Hit测试:碰撞对象是,输出文本“hit”,(注意把 “模拟生成hit事件”勾选)。

hit次数查看。可以看到接触时候会多次触发hit,故hit事件常常配合DoOnce来使用。

 

案例:

人物碰撞对象A,导致对象B(cube2)移动。缺点:只能触发一次。

     

改进:触发hit后延迟1s会重置DoOnce节点,使其可以再次被执行一次,以此类推。(序列节点的输出是有顺序的,只是时间间隔非常短。所以它是hit触发后1s重置,而不是等 Then 0输出后延迟1s重置 ,注意。)

 

 

 

蓝图类碰撞

蓝图类的碰撞并不在其场景中的细节面板中设置。下图对比普通对象 和 蓝图类对象的场景中细节面板的碰撞属性。

         

其碰撞设置面板:双击蓝图类,选择特定组件后,在蓝图类中的细节面板中。

在蓝图类中调用碰撞事件:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值