目录
1.1.2 在蓝图类中为静态网格体添加 Collision 组件
二、自定义 Trace Channel / Object Type
一、碰撞前提条件
1.1 添加碰撞(双方都需要)
1.1.1 直接为静态网格体添加碰撞,然后添加在蓝图类中

1.1.2 在蓝图类中为静态网格体添加 Collision 组件

【总结】以上两种情况效果是相同的。另外补充一句,引擎自带的静态网格体(如球体等)本身是有碰撞的。
1.2 设置根组件(存疑)
做过一个案例,角色向前发射一枚箭矢,并扎到墙壁中。我已经添加好碰撞,并设置为双方阻挡,但箭矢依旧会穿过墙壁。经过一系列尝试,得出以下结论。
箭矢(主动方)需要将 Collision Component 或 静态网格体(本身携带碰撞)设置为根组件。
墙壁(被动方)将 Collision Component 或 静态网格体(本身携带碰撞)设置为根组件都是没有效果的。可以不做处理。
这里比较疑惑,希望大神解答。
【补充】对于角色蓝图(大部分情况下是主动方),Capsule Component 本身就是根组件,所以不会出现问题。
【补充】之前做了个案例,角色蓝图的骨骼网格体下有一个武器,给武器添加碰撞,使其攻击敌人。这样就不满足设置为根组件了,但依旧能执行事件命中(而且令人疑惑的是敌人必须要胶囊体进行设置重叠/阻挡)。难道此时主被动方交换了吗?
二、自定义 Trace Channel / Object Type
【编辑】-【项目设置】-【Collision】- 新建自定义 Trace Channel / Object Type。

三、碰撞概述
现在有一个场景,角色向前方墙壁发射子弹。
- 如果两者都设置为阻挡,子弹会撞到墙壁上。(哪一方开启 Simulation Generates Hit Events,哪一方就能执行阻挡事件命中。逐帧执行)
- 如果一个设置为阻挡 / 重叠,另一个设置为重叠,子弹会穿过墙壁。两者需要同时启用 Generate Overlap Events 才能执行重叠事件命中(默认启用)。
- 如果一个设置为重叠,另一个设置为忽略,子弹会穿过墙壁。但不会触发阻挡 / 重叠事件。
1560

被折叠的 条评论
为什么被折叠?



