This session will provide an overview of the Havok Physics integration and workflows in Unity. Gain insight into how we've integrated the industry-leading Havok Physics system into Unity using our Data-Oriented Technology Stack (DOTS). These slides will cover the shared data layout of our physics engines, the performance and fidelity benefits of Havok Physics, and future development plans, as well as showcasing several examples from the Unity community that leverage these systems.
Speaker:
Steve Ewart - Havok
8. See Adam Mechtley’s Unite 2019 talk
‘Get Moving: an overview of physics in DOTS’
Unity Physics
8
9. DOTS Physics – ECS Overview
9
Authoring
Data
GameObject
Conversion
Entity
Data
Build Physics
World
Physics
Data
Back-
end?
Simulate/Step
Unity Physics
Simulate/Step
Havok Physics
Export Physics
World
10. DOTS Physics - Data
10
Simulation Data In
— Collision Info
— Collider
— Transform
— Dynamics Info at t(0)
— Velocity
— Center of Mass
— Inertia Orientation
Simulation Data Out
— Dynamics Info at t(1)
— Velocity
— Center of Mass
— Inertia Orientation
— Events
— Collisions
— Triggers
Back-
end?
Simulate/Step
Unity Physics
Simulate/Step
Havok Physics
36. Speculative Contacts – Unity Physics
37
— ModifyNarrowphaseContacts sample
— Rotates & scales terrain contacts to
point along Plane Normal
— Cheap
— Good enough for this specific use case.
61. Havok Physics
67
— Same Data
— Better Behaviour
— Better Performance
— Battle Hardened
— Available now from package
manager!
62. Havok Physics
68
— Initial Trial Package
— Fully Functional
— Expires January 15th 2020
— After Trial
— Free for Unity Personal
— Free for Unity Plus
— Subscription for Unity Pro
— $20 per month per seat
Back at GDC we announced a partnership with Unity to provide greater adoption of Havok Physics to Unity users
* Created single data protocol for physics* More adoption of Havok Physics* Complete physics solution for Unity
Back at GDC we announced a partnership with Unity to provide greater adoption of Havok Physics to Unity users
* Created single data protocol for physics* More adoption of Havok Physics* Complete physics solution for Unity
Emphasis cross platform
Platform holders
Over 700 titles released
So let’s work together
Common
Created single data protocol for physicsUnity Physics backend
DOTS physics data representation and backend
Data Component describe Physics World
Build Physics World builds Collision World used for static queries
This talk focusing on the Step Physics World which handles dynamic collision detection and response
Export Physics World moves the updating dynamic physics data back to Data Component for other non-physics systems to consume
https://docs.unity3d.com/2018.3/Documentation/Manual/ContinuousCollisionDetection.html#speculative
Performance by default
Speculative Continuous Collision Detection
Expanded AABB with velocity
Callback use to remove overlapping pairs
Filtering that is very specific for a particular frame that is appropriate via collision filter.
E.g turn of first x frames of an explosion
Messing with Normals or dropping
Tweaking with geometry information
e.g.
Backface culling
Displacement map
Tweaking with collision response
e.g.
fake infinite mas
Soft contacts
Surface velocity