Unity Physics和Havok Physics均构建于面向数据的技术堆栈(DOTS)框架之上。您可以将项目从一个解决方案转换到另一个解决方案;它们可以同时运行。它们与数据兼容,可让您使用Unity强大的工具和工作流程。

Unity Physics
快捷、轻巧、无状态、可定制:这些便是我们新型Unity Physics解决方案的特色优势。
其构建于Unity C# DOTS框架上,可直接联网使用,可完全自定义,并且支持开箱即用。无论是在制作下一个热门移动游戏,还是构建新的玩家多人联网主机游戏体验,Unity Physics都可以利用Burst编译器和作业系统在各种硬件之间进行扩展。
Unity Physics目前为预览版本,可通过Package Manager获得,可兼容Unity 2019.1及更高版本。

Havok Physics
Havok Physics
Havok Physics 是一种针对需要生成复杂物理模拟的客户的高端解决方案。它由业界领先的 Havok Physics 引擎提供支持,该引擎为这一代主机超过一半的热门游戏提供支持。它使用与 Unity Physics 相同的 C# DOTS 框架编写,但包括以本机 C++ 编写的闭源专有 Havok 物理引擎的性能、稳定性和功能。
性能
Havok Physics 针对典型游戏使用案例进行了大量优化。核心算法已经过多年改进,各种自动缓存策略(包括对不活动项目启用睡眠)意味着 CPU 资源只在需要处使用。
观看 Havok Physics Unity 集成:性能 - YouTube
行为
Havok Physics 是一款强大的物理引擎,旨在处理最图形密集型游戏的性能要求,这些游戏通常包含具有大量物理交互的复杂场景。通过与业界合作伙伴 20 多年的合作,Havok 已经发现、解决了物理模拟面临的许多最棘手的问题并且仍在不断挑战。这包括物理实体的稳定堆叠、具有快速移动物体的最小伪影以及通常更受控的行为,尤其是在使用非优化的碰撞几何体时。
资源
宣布推出基于DOTS的Unity Physics和Havok Physics | GDC 2019主题演讲
在GDC 2019上,我们宣布与Havok建立合作伙伴关系,共同为Unity中基于DOTS的项目构建完备的物理解决方案。观看Joachim Ante(Unity的CTO兼创始人)和Oliver Strunk(Havok)展示解决方案。
Havok的Rory Mullane在GDC介绍Physics
跟随AAA物理引擎的步伐,踏上从C++转向C#和面向数据的技术堆栈(DOTS)的旅程。了解Unity Physics现在提供的架构和功能,了解它的实际应用,探索Unity Physics和Havok Physics如何通过协同工作来最大程度提高游戏的动感效果。
确定性是指,当给出相同的一组输入信息时,可在物理模拟中获得相同的结果。Unity Physics与Havok Physics均可提供确定性结果。不过,由于不同的CPU架构(x86、ARM等)会在其数学计算中产生微小差异,因此模拟的确定性结果可能因硬件而异。
由于Burst将在今年晚些时候解决跨架构的确定性问题,Unity Physics也会自动受益于此功能,这表示可从任何设备上获得相同的模拟。
注意:对于单个架构的确定性,Unity Physics会尽快对Burst进行更新。
包括Havok在内的大多数物理引擎都通过智能优化来实现出众的性能和稳定性,例如缓存部分世界状态以绕过不同的计算或使其保持稳定。相反,无状态物理通过强力优化实现性能。正因为如此,并且由于Burst的未来版本能够跨多个架构执行,因此其可以使多个不同的联网场景受益。另一方面,Havok能够在某些场景中实现更高的性能和稳定性。
由于无状态物理能够在Burst的未来版本中跨多个CPU架构执行具备决定性的结果,其易于使用且可随时用于各种网络设置,包括客户端预测(例如FPS)、锁步客户端模拟(例如RTS)以及GGPO/回滚(例如格斗游戏)。
由于Havok Physics会缓存不同状态信息来执行智能优化,因此它可以在大型游戏或使用复杂物理系统的游戏中实现卓越性能。Havok Physics还可以在处理穿插物体和堆叠物体时提供更高的稳定性。由于高级摩擦模型需要缓存,行为也将得到改善。
Havok Physics和Unity Physics都使用了Unity Editor中的相同数据模型。您可以单一方式创作内容,然后根据游戏的具体需求或游戏世界的子集将内容加入任一物理后端或这两个物理后端。
不会。Unity Physics与Havok Physics都是基于DOTS的可选软件包。不会中断任何现有内容,但如果要迁移到其中一个新的后端,则可能需要重新调整现有内容。