0.我对Overlap和Hit的理解:Overlap事件是当两个物体重合时触发的事件,Collision Presets设置成Overlap All的物体,不会对其它物体产生阻挡。Hit碰撞只有OnComponentHit这个事件,只要两个物体碰在一起就会反复触发该事件。Overlap有OnComponentBeginOverlap和OnComponentEndOverlap两个事件,当两个物体重合在一起时,触发一次OnComponentBeginOverlap事件,当两个物体分离时,触发一次OnComponentEndOverlap事件。
1.新建一个Actor,起名为BP_CubePeople,通过Add Component的方法制作一个简易的人,结构列表如图1-1,摆放效果如图1-2。
![](https://img.haomeiwen.com/i1626751/1a5fd9a2443ce437.png)
![](https://img.haomeiwen.com/i1626751/047a5f349a0ea57c.png)
2.在列表里选中所有的身体部件,在Details面板的Collision项里进行设置(如图2-1)。
![](https://img.haomeiwen.com/i1626751/c61b6e55a8fbf4a8.png)
3.打开BP_PickupCube,在Event Graph里添加如下程序。当两个物体重合触发Overlap事件时,就在控制台输出对方Component的名称(如图3-1)。
![](https://img.haomeiwen.com/i1626751/3bd5c54e126ef882.png)
4.图3-1中的小圆点是ToString函数,从OnComponentBeginOverlap的Other Comp针拖也一条线,在快捷菜单里输入tostring就可以找到了(如图4-1)。
![](https://img.haomeiwen.com/i1626751/847fde7fb67d93d9.png)
5.运行程序,用手抓一个BP_PickupCube类型的东西(如上一篇里的VR Glasses)。丢到BP_CubePeople的左腿上(如图5-1),就可以看到控制台上输出了以下的信息(如图5-2)。
![](https://img.haomeiwen.com/i1626751/6632910be08d21e5.png)
![](https://img.haomeiwen.com/i1626751/814891444d12be38.png)
网友评论