版权声明:本文为原创文章,转载请保留原文链接。 https://blog.csdn.net/zzx023/article/details/82871707
1、概述
UE4(4.16)采用的物理系统为PhysX,版本为3.4。引擎层仅做接口的调用。物理以及渲染决定了一个游戏的美术表现。
2、碰撞体
UE4的碰撞体分为复杂碰撞和简单碰撞。碰撞体本身的作用就是为了提高碰撞的检测速度,用相对简单的包围盒把原物体包围起来,进行碰撞检测。
如果使用复杂碰撞,也就是直接使用场景中物件的顶点以及三角面作为碰撞体的话,在进行碰撞检测时是非常复杂的。因此使用简单碰撞来代替复杂碰撞是非常有必要的。
2.1 碰撞检测算法中的图元
从原理上可以区分为三类:
1. 轴对齐包围盒(Axis-Aligned Bounding Box , AABB)
2. 有向包围盒(Oriented Bounding Box , OBB)
3. 离散有向包围盒(Discrete Oriented Polytope , k-DOP)
它的长宽高三个轴与游戏内的是一致的,运算速度最快,但缺点是包围的不严密
它的XYZ轴向是可以自定义的,可以相对精确的包围,运算速度快
k-DOP可以最精确的包围,但运算速度最慢
2.2 与PhyX的交互
PhysX中对象的基本单位与UE4中的数据交互通过结构体FBodyInatance来完成,包括顶点数据,位置,物理材质等等。