常见游戏物理模拟
这里罗列了在游戏中使用的物理模拟技术。
刚体物理模拟(Rigid Body Physics)
模拟不发生形变的物体运动,考虑碰撞、接触、摩擦、关节与结构约束。常用算法,在前几章都提到过。
在游戏中的应用:掉落物、箱子、石块;可交互场景物体;布娃娃、载具、破坏系统的基础等。
软体物理模拟(Soft Body Physics)
模拟形变的物体,考虑弹性和体积恒定。
常用算法包括:Mass–Spring Model、Shape Matching、FEM(简化版)和Position Based Dynamics (PBD / XPBD)。
游戏中的应用
果冻状生物
肉体受击变形
弹性道具
简化破坏体
游戏中很少使用严格 FEM,多采用 PBD 类方法保证稳定。
布料与毛发模拟(Cloth and Hair Simulation)
解决的问题
薄片、细长结构的大幅运动
风力影响
与角色碰撞
常用算法
Mass–Spring
Verlet Integration
PBD / XPBD
Follow-the-Leader(毛发链)
游戏中的应用
披风、裙子
头发、尾巴
动态装饰物
重点不是材料真实性,而是稳定、不穿模、可控。
流体模拟(Fluid Simulation)
解决的问题
水、烟、火、气体
连续介质运动
常用算法
网格方法
Stable Fluids(半拉格朗日)
MAC Grid
Pressure Projection
粒子方法
SPH(Smoothed Particle Hydrodynamics)
简化 FLIP / PIC(少见)
游戏中的应用
水面与水体
烟雾、火焰
特效级液体
游戏流体通常是视觉优先 + 大量近似。
粒子系统(Particle Systems)
解决的问题
大规模、短生命周期的视觉元素
常用算法
运动学更新(位置、速度)
简化力模型(重力、阻尼)
GPU Compute Shader
Billboard 渲染
游戏中的应用
爆炸
火焰
魔法效果
烟尘、火花
多数粒子系统不满足任何物理守恒定律。
破坏与断裂模拟(Destruction and Fracture)
解决的问题
结构分裂
动态拓扑变化
常用算法
Voronoi Fracture
预切割 Mesh
约束断裂(Breakable Constraints)
Cluster-based Destruction(UE Chaos)
游戏中的应用
墙体破碎
建筑倒塌
爆炸破坏效果
通常是刚体 + 约束 + 规则驱动。
角色物理与布娃娃系统
(Character Physics & Ragdoll)
解决的问题
角色受力反应
动画与物理融合
常用算法
多刚体系统
关节约束(Hinge / Ball-Socket)
PD Controller
Inverse Kinematics(CCD / FABRIK)
游戏中的应用
角色死亡布娃娃
物理驱动动画
受击反馈
肌肉模拟(简化)
游戏角色多是物理 + 控制系统混合体。
载具物理模拟(Vehicle Physics)
解决的问题
轮胎–地面交互
操控感与稳定性
常用算法
Raycast Wheel
Spring–Damper 悬挂模型
简化 Pacejka 轮胎模型
Drivetrain Approximation
游戏中的应用
赛车
摩托
坦克
简化飞行器
载具物理的核心是**“感觉正确”而不是物理正确**。
群体行为模拟(Crowd / Swarm Physics)
解决的问题
大量个体协同行为
局部避碰
常用算法
Boids
Steering Behaviors
RVO / ORCA
Flow Field
游戏中的应用
人群
敌群
动物群
弹幕行为
更偏 AI + 运动学 + 局部约束,但常被归入“物理感系统”。