Phase 6 updates

Phase 6 · Slice 24 ·

2D effector forces

  • AreaEffector2D, PointEffector2D, SurfaceEffector2D and BuoyancyEffector2D act after each 2D step on the dynamic bodies touching their colliders (the step's own contacts, triggers included through a new native list of touching colliders): forces go into the next step; damping divides velocities by 1 + dt × damping at once; a surface moves bodies toward its speed by forceScale of the difference, after friction (useFriction and useBounce off take them out of its contacts); buoyancy pushes up by density × submerged area × gravity at the submerged centroid, damps by the centroid's velocity, adds flow × submerged area. Unity 6's names (linearDamping, angularDamping) with the obsolete ones, and Unity's inspector defaults.
  • Checked by effectors_2d (6000.3): each effector and parameter on its own body, trajectories at fixed frames. Known difference: a partly submerged body in a flow turns more than in Unity (not checked).
  • Found on the way: physics2d_queries depends on how many frames ran before it (it fails with 101 more frames ahead of it); new scenarios go at the end of the registry.
  • Next: other composite operations; the window icon; UI Toolkit's remaining pieces (TextField, sliders and scrollers, rounded corners, transitions).