刚体与 Chaos 破坏

自动关联目录:刚体与 Chaos 破坏

官方依据:官方 Gameplay Systems 正文点名 Physics 包含 物理 Actor 模拟与 Chaos Destruction(已核实)。

1. 定位

物理模拟让物体"自己动":刚体掉落、布娃娃、约束摆动、可破坏建筑。Chaos 是 UE5 的物理引擎,负责这些内容。

一句话定位:模拟是物理里最贵、也最难同步的部分——开启前先问一句"能不能用动画或脚本假装"。

2. 刚体模拟

功能说明
Simulate Physics开启刚体模拟
Physics Asset骨架的物理体与约束(布娃娃)
Physical Material摩擦、弹性、密度
Constraint约束(铰链、弹簧、球窝)
质量与阻尼Mass、Linear/Angular Damping
休眠静止物体自动休眠,省成本

Physics Asset 的质量决定布娃娃表现:碰撞体过少/过大 → 姿势错乱、穿模。

3. 约束

类型用途
Hinge(铰链)门、摆
Ball-and-Socket关节
Prismatic滑动
Spring / 弹簧悬挂、柔性连接
Physics Constraint Component组件形式

约束是最容易"炸"的部分:质量比过大、约束过紧、迭代不足都会导致抖动或飞出。

4. Chaos Destruction(破坏)

概念说明
Geometry Collection破坏用的资产,定义碎块层级
碎裂层级多层破碎(先裂成块,再裂成小块)
损伤传播施加伤害触发局部破坏
与 NaniteNanite 可用于 Geometry Collection(见 Nanite 篇)
成本碎块数量 × 模拟成本,破坏瞬间可能尖峰

破坏的性能问题几乎总在"碎块太多":限制每层碎块数、远处不模拟、及时让碎块休眠或销毁。

5. 代价与权衡

设计收益代价什么时候不该用
刚体模拟真实感、交互性模拟成本 + 网络同步难(见 物理与网络同步)能用动画/脚本假装时不要用
布娃娃死亡表现好Physics Asset 制作成本 + 模拟成本简单倒地动画可能更划算
复杂 Physics Asset精确模拟成本高远处应切简化版本
Chaos 破坏场面好碎块成本、包体、构建时间一次性小道具不值得
多层碎裂效果好碎块数量指数风险控制层数与每层数量

6. 踩坑与排查

坑现象怎么验证
忘了设 Physics Asset布娃娃姿势错乱检查 Skeletal Mesh 的 Physics Asset
碰撞体不匹配穿模、抖动检查 Physics Asset 的碰撞体
约束抖动/飞出物体乱飞检查质量比、约束参数、迭代次数
破坏瞬间卡顿碎块太多限制碎块数、远处不模拟
物体永远不休眠一直耗 CPU检查是否在被微弱扰动
物理体参与网络复制抖动拉扯见 物理与网络同步
模拟结果两端不一致客户端看到的和打中的不一样权威判定必须在服务端
大量物理体帧率掉减少模拟体、用休眠、远处关闭模拟

7. 排查顺序

1. 姿势/穿模?→ Physics Asset 的碰撞体
2. 抖动/飞出?→ 质量比与约束参数
3. 卡顿?→ 模拟体数量、碎块数量、是否休眠
4. 两端不一致?→ 物理与网络同步篇
5. 破坏不生效?→ Geometry Collection 与伤害配置

8. 调试

手段用途
Show > Physics / 物理调试视图显示物理体与约束
pxvis 系列物理调试绘制
stat physics物理耗时
Physics Asset 编辑器调整碰撞体与约束

参考