【UE4】物理引擎(蓝图)

本文详细介绍了虚幻引擎4中的物理引擎、交互、碰撞和追踪响应。内容涵盖物理引擎的工作原理,物体间碰撞的类型,如忽视、重叠和阻挡,以及如何设置静态网格和复杂碰撞。此外,还讲解了碰撞预设、碰撞响应事件(重叠事件、撞击事件)以及追踪方式,如射线检测。最后,文章讨论了力的作用,包括冲力和推进力在物理模拟中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虚幻物理系统

1、物理引擎

物理引擎通过为刚性物体赋予真实的物理属性的方式来计算运动、旋转和碰撞反映。

游戏引擎中的物理引擎的主要目的是为了解决物体在空间的状态信息。

常规的物理引擎遵循物理定律,按照给定的算法,进行模拟物理运动。所以在没有多元因素影响的情况下,物理引擎的计算结果是一致的。这和现实世界基本一致。

虚幻使用的是PhysX3.3的物理引擎驱动物理仿真以及碰撞计算。

2、物理交互

碰撞相应和**追踪响应(射线)**构成了虚幻引擎4在运行时处理碰撞和光线投射的基础。

虚幻中的碰撞交互方式分为三种:忽视,重叠,阻挡

忽视:物体和物体之间不产生任何物理结果,这使得物理引擎将这两种物体不作为检查范本。

重叠:物体和物体本身可以相互穿透,并产生事件通知。物理引擎时刻会关注物体之间的位置关系。

阻挡:物体和物体之间不可以相互穿透,将产生阻挡效果。

产生物理交互的必备条件

在虚幻引擎中,能够被物理引擎计算的物体必须具备刚体(包裹外壳)。如果希望加入物理引擎运动,还需要开启去物理模拟。

3、物理碰撞

在虚幻引擎中,物理碰撞添加的途径有两种,第一种是静态网格编辑器中,第二种是物理资源编辑器中(为骨骼Mesh使用)

静态网格编辑器

请添加图片描述

静态网格的添加的碰撞形式分为两种,简单碰撞和复杂碰撞。

简单碰撞是基础,如方块、球体、胶囊体和凸包。复杂碰撞是给定对象的三角网格图。虚幻引擎4默认在Physx中创建简单和复杂两种形态,然后再基于用户需要(复杂查询vs简单查询)使用相应形态。

请添加图片描述

LOD(Levels of Detail):多层次细节,LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。

例如游戏中,背后和远处的物体为非重要物体,细节度低,眼前近处的物体的细节度高。

简单碰撞

添加简单形状碰撞

打开静态网格编辑器,在碰撞下拉菜单中找到形状添加,虚幻提供三种简单的形状碰撞器:球体、胶囊体、盒体。

虚幻允许一个物体具备多个碰撞器
在这里插入图片描述

添加K-DOP简单凸包碰撞

K-DOP是包围体的一种,是K离散导向多面体(K discrete oriented polytope)的缩写(K是轴对齐平面的数字)。它抓取轴对齐的平面,将其尽力推向离网格体最近的位置。

10-方块有4条边形成斜角-可选择X、Y或Z轴对齐的边

18-方块中所有边均形成斜角

26-方块中所有边和角均形成斜角

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NXczBNTa-1666172453671)(D:\typora\image\image-20221018101456058.png)]

添加自动凸包碰撞

自动凸包包裹也属于简单碰撞包裹,通过程序进行计算获得包裹数据信息。需要调整凸包顶点最大数量。

凸包数量:决定了包裹物体需要使用的凸包个数,越多越精确,消耗也越大

最大外壳定点数:每个凸包最大允许使用多少个顶点

凸包精准度:使用多少模型面做计算参考,数量越大精度越大

遇到特别复杂的物体,建议先提升凸包数量,其次是凸包精准度。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QvgiFQBO-1666172453672)(D:\typora\image\image-20221018101959618.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RXyU7fgu-1666172453673)(D:\typora\image\image-20221018102006556.png)]
在这里插入图片描述

添加复杂碰撞

虚幻中规定,若一个物体开启了复杂(精准)碰撞,就不能再开启物理模拟了。

例如,开启了复杂碰撞的椅子不能再被一个球击倒。

开启复杂碰撞后,需要在细节面板中将碰撞复杂度改成“将复杂碰撞用作简单碰撞”,物体才能与其他物体进行物理交互。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chaser_Hc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值