Strange behaviour with physics joints


I’ve attached an empty project with nothing changed aside from two game objects added, one with a dynamic collision object and one with a static collision object. One of the objects has a script that creates a fixed joint for the two objects. (17.1 KB)

The result looks like this on my end, with some very strange movement from the dynamic object:


I’m not familiar with physics at all, so I don’t understand why this happens, but it definitely doesn’t seem intended. Any thoughts?

EDIT: This is from Defold version 1.2.173, running on macOS.



I don’t think this is a bug… The position that you give for the joints in the physics.create_joint function is a local position. When you told the game objects to get their own position for the location to place the joints, they doubled their position vectors.

This is how I got it to work:

	local pos_1 = go.get_position()
	local pos_2 = go.get_position("go2")
		pos_2 - pos_1,