The Godot Q&A is currently undergoing maintenance!

Your ability to ask and answer questions is temporarily disabled. You can browse existing threads in read-only mode.

We are working on bringing this community platform back to its full functionality, stay tuned for updates.

godotengine.org | Twitter

0 votes

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).

Godot version 3.5
in Engine by (12 points)

1 Answer

0 votes

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 onbody_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.

by (18 points)
edited by

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

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.