I'm trying to make something like a rocket, with two thrusters. Ship is RigidBody2D, thrusterPoints are simple Nodes2D that are placed on the sides. I'm trying to "drive" the rocket, just by adding force to one thruster or the other.
I have script attached to the RigidBody2D
onready var forcePointLeft = $ForcePointLeft
func _integrate_forces(state: Physics2DDirectBodyState) -> void:
add_force(forcePointLeft.position, (Vector2.UP * 10).rotated(rotation))
(I added some gravity and stuff, to make it not just fly off into space, but with zero gravity it works the same)
In this case, I expect the rocket to spin in single direction, as it has constant force beeing added to it all the time. It doesn't behave as expected -.- It does something weird, like on gif below.
Why is that happening? how is that possible?