物理引擎杂谈
文档用途
物理引擎相关资料汇总, 以及粗略的思考.
基于物理的游戏
INFO
这里列出来的都是以物理引擎为基础构建核心玩法的游戏.
有的游戏使用了物理引擎, 但与核心玩法无关, 甚至于仅仅提供视觉效果, 将不会被列出.
| 中文名 | 英文名 | 链接 |
|---|---|---|
| 愤怒的小鸟 | Angry Birds | 官网 |
| 围攻 | Besiege | Steam |
| 猛兽派对 | Party Animals | Steam |
| 糖豆人 | Fall Guys: Ultimate Knockout | 官网 |
| 小小大星球 | Little Big Planet | PS Store |
| 人类一败涂地 | Human Fall Flat | Steam |
| 火箭联盟 | Rocket League | 官网 |
当今的物理引擎
| 名称 | 编程语言 | 简介 |
|---|---|---|
| PhysX | C++ | 运行在 GPU 上, Nvidia 研发, Unity 集成为默认物理引擎 |
| Bullet | C++ | 开源3D物理引擎, GitHub 链接 |
| Box2D | C++ | 开源2D物理引擎, GitHub 链接 |
| Havok | C++ | Havok 官网, Havok Physics for Unity 官方文档 |
| Unity Physics | C# | 使用 C# 实现, 基与 DOTS 技术, 无状态, 官方文档 |
| Taichi | C++ | 通过类似 Python 的语法调用, Github 链接 |
| Rapier | Rust | Rapier 官网, Rapier Bevy 插件 |
| XPBD | Rust | XPBD Github 链接 |
视频与文章
- 维基百科对物理引擎的介绍链接
- "哪吒" "大圣归来" 在技术上是否已达到美国迪士尼梦工厂水平? 知乎链接
- GAMES 201: 高级物理引擎实战指南 2020 B站链接
- 冰雪奇缘 如何模拟一场大雪? B站链接
- 游戏物理引擎 (一) 刚体动力学 知乎链接
物理引擎的优势
- 容易出现令人意想不到的有趣效果.
- 可交互物体丰富, 通常意味着更好玩.
- 超棒的易用性, 因为利用了人的常识.
- 微小的数值改变就能产生新奇的体验.
物理引擎的劣势
- 设计层面难以做出细粒度的调整, 牵一发而动全身.
- 可交互物体越多, 性能压力越大.
- 有状态的物理引擎不方便做网络同步.
- Unity 对物理引擎的支持不完善.
- 交互形式单一 (可能只包含力学规则) .