bevy_xpbd icon indicating copy to clipboard operation
bevy_xpbd copied to clipboard

Keeping only physics plugins doesn't work after migration from XPBD

Open Shatur opened this issue 1 year ago • 0 comments
trafficstars

I migrating from xpbd to avian. Previosly my setup was like this:

            PhysicsPlugins::default()
                .build()
                .disable::<IntegratorPlugin>()
                .disable::<SolverPlugin>()
                .disable::<SleepingPlugin>(),

But after migration to avian it crashes with the following message:

Error when initializing schedule PhysicsSchedule: Systems with conflicting access have indeterminate run order.
26 pairs of systems with conflicting data access have indeterminate execution order. Consider adding `before`, `after`, or `ambiguous_with` relationships between these:
 -- solve_swept_ccd (in sets PostSubstep, SweptCcdSet) and run_substep_schedule (in set Substep)
    conflict on: bevy_ecs::world::World
 -- solve_swept_ccd (in sets PostSubstep, SweptCcdSet) and collect_collision_pairs (in sets BroadPhase, CollectCollisions)
    conflict on: ["avian3d::collision::broad_phase::AabbIntersections"]
 -- solve_swept_ccd (in sets PostSubstep, SweptCcdSet) and update_child_collider_position (in sets First, NarrowPhase)
    conflict on: ["avian3d::position::Position", "avian3d::position::Rotation"]
 -- solve_swept_ccd (in sets PostSubstep, SweptCcdSet) and run_post_process_collisions_schedule (in sets NarrowPhase, PostProcess)
    conflict on: bevy_ecs::world::World
 -- solve_swept_ccd (in sets PostSubstep, SweptCcdSet) and update_ray_caster_positions (in set SpatialQuery)
    conflict on: ["avian3d::position::Rotation"]
 -- solve_swept_ccd (in sets PostSubstep, SweptCcdSet) and update_shape_caster_positions (in set SpatialQuery)
    conflict on: ["avian3d::position::Rotation"]
 -- solve_swept_ccd (in sets PostSubstep, SweptCcdSet) and <SpatialQueryPlugin as Plugin>::{{closure}} (in set SpatialQuery)
    conflict on: ["avian3d::position::Rotation"]
 -- solve_swept_ccd (in sets PostSubstep, SweptCcdSet) and raycast (in set SpatialQuery)
    conflict on: ["avian3d::position::Rotation"]
 -- solve_swept_ccd (in sets PostSubstep, SweptCcdSet) and shapecast (in set SpatialQuery)
    conflict on: ["avian3d::position::Rotation"]
 -- run_substep_schedule (in set Substep) and update_aabb_intervals (in sets BroadPhase, UpdateStructures)
    conflict on: bevy_ecs::world::World
 -- run_substep_schedule (in set Substep) and add_new_aabb_intervals (in sets BroadPhase, UpdateStructures)
    conflict on: bevy_ecs::world::World
 -- run_substep_schedule (in set Substep) and collect_collision_pairs (in sets BroadPhase, CollectCollisions)
    conflict on: bevy_ecs::world::World
 -- run_substep_schedule (in set Substep) and propagate_collider_transforms (in sets First, NarrowPhase)
    conflict on: bevy_ecs::world::World
 -- run_substep_schedule (in set Substep) and update_child_collider_position (in sets First, NarrowPhase)
    conflict on: bevy_ecs::world::World
 -- run_substep_schedule (in set Substep) and reset_collision_states
    conflict on: bevy_ecs::world::World
 -- run_substep_schedule (in set Substep) and log_overlap_at_spawn (in sets NarrowPhase, PostProcess)
    conflict on: bevy_ecs::world::World
 -- run_substep_schedule (in set Substep) and run_post_process_collisions_schedule (in sets NarrowPhase, PostProcess)
    conflict on: bevy_ecs::world::World
 -- run_substep_schedule (in set Substep) and <NarrowPhasePlugin<Collider> as Plugin>::{{closure}}
    conflict on: bevy_ecs::world::World
 -- run_substep_schedule (in set Substep) and report_contacts (in set ReportContacts)
    conflict on: bevy_ecs::world::World
 -- run_substep_schedule (in set Substep) and remove_ended_collisions
    conflict on: bevy_ecs::world::World
 -- run_substep_schedule (in set Substep) and update_ray_caster_positions (in set SpatialQuery)
    conflict on: bevy_ecs::world::World
 -- run_substep_schedule (in set Substep) and update_shape_caster_positions (in set SpatialQuery)
    conflict on: bevy_ecs::world::World
 -- run_substep_schedule (in set Substep) and <SpatialQueryPlugin as Plugin>::{{closure}} (in set SpatialQuery)
    conflict on: bevy_ecs::world::World
 -- run_substep_schedule (in set Substep) and raycast (in set SpatialQuery)
    conflict on: bevy_ecs::world::World
 -- run_substep_schedule (in set Substep) and shapecast (in set SpatialQuery)
    conflict on: bevy_ecs::world::World
 -- run_substep_schedule (in set Substep) and handle_rigid_body_removals
    conflict on: bevy_ecs::world::World

Shatur avatar Sep 12 '24 19:09 Shatur