Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.18.0 #583

Merged
merged 1 commit into from
Jan 24, 2024
Merged

Release v0.18.0 #583

merged 1 commit into from
Jan 24, 2024

Conversation

sebcrozet
Copy link
Member

@sebcrozet sebcrozet commented Jan 24, 2024

v0.18.0 (24 Jan. 2024)

The main highlight of this release is the implementation of a new non-linear constraints solver for better stability
and increased convergence rates. See #579 for additional information.

In order to adjust the number of iterations of the new solver, simply adjust IntegrationParameters::num_solver_iterations.
If recovering the old solver behavior is useful to you, call IntegrationParameters::switch_to_standard_pgs_solver().

It is now possible to specify some additional solver iteration for specific rigid-bodies (and everything interacting
with it directly or indirectly through contacts and joints): RigidBodyBuilder::additional_solver_iterations and
RigidBodyBuilder::set_additional_solver_iterations. This allows for higher-accuracy on subsets of the physics scene
without affecting performance of the other parts of the simulation.

Fix

  • Fix bug causing angular joint limits and motor to sometimes only take into account half of the angles specified by the user.
  • Fix bug where collisions would not be re-computed after a collider was re-enabled.
  • Fix incorrect update of angular degrees-of-freedoms on spherical multibody joints.
  • Fix debug-renderer showing moved kinematic rigid-bodies only at their initial position.

Added

  • Add a SpringJoint and SpringJointBuilder for simulating springs with customizable stiffness and damping coefficients.
  • Add SphericalJoint::local_frame1/2, ::set_local_frame1/2, and SphericalJointBuilder::local_frame1/2 to set both
    the joint’s anchor and reference orientation.
  • Add EffectiveCharacterMovement::is_sliding_down_slope to indicate if the character controlled by the kinematic
    character controller is sliding on a slope that is too steep.
  • Add Wheel::side_friction_stiffness to customize the side friction applied to the vehicle controller’s wheel.
  • Add Wheel::raycast_info to access more wheel information relative to the ground.
  • Add DebugRenderStyle::disabled_color_multiplier to make the debug-renderer color disabled object differently.

Modified

  • Make Wheel::friction_slip public to customize the front friction applied to the vehicle controller’s wheels.
  • Add the DebugRenderBackend::filter_object predicate that can be implemented to apply custom filtering rules
    on the objects being rendered.
  • Switch the testbed to bevy 0.12 and use its new Gizmos API for rendering lines.
  • Rename NarrowPhase::contacts_with to NarrowPhase::contact_pairs_with.
  • Rename NarrowPhase::intersections_with to NarrowPhase::intersection_pairs_with.

@sebcrozet sebcrozet merged commit aef873f into master Jan 24, 2024
5 checks passed
@sebcrozet sebcrozet deleted the release-v0.18 branch January 24, 2024 22:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant