Turning off physics for rigidbody

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Mikser

So I am doing a simple game where you shoot some objects which are rigidbodies2d in editor and I want some of them to get destroyed by a few hits(not only one) without changing its course(linear_velocity).

:bust_in_silhouette: Reply From: tobi

I haven’t tested it, but I guess you could add an area2d as a child of your rigidbody2d and detect the collisions of the hits with that. (Signal _on_body_entered)

Than you can do in the script of your rigidbody2d:

get_node("CollisionShape2D").disabled

So that only the collider of the area2d gets the collisions.

EDIT: Maybe instead of disabling the regular collider, you could use collision layers.
For example, rigidbody2D - collisionshape2D and objects which should affect it’s trajectory on collision layer 1, rigidbody2D - area2D - collisionshape2D and the objects which cause your Hits but don‘t affect trajectory on collision layer 2.

Great idea, I did some code and its working nicely now. Thanks for advice.

Mikser | 2022-10-20 17:59