You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OS/device including version:
iMac
Operating system: Darwin-19.3.0-x86_64-i386-64bit 64 Bits
Graphics card: AMD Radeon Pro 580 OpenGL Engine ATI Technologies Inc. 4.1 ATI-3.5.5
Issue description:
My test scene has two RididBody2Ds. The first has a script that uses test_motion to check for collisions to the right of itself. A second RididBody2D is over the the right. Behind that is a StaticBody2D wall. All physics nodes have their collision layer and masks at the default settings.
The code on the left-hand RigidBody2D uses test_motion to check for collisions to its right. I have a collision_marker sprite, a red circle, to visualise where the collision from the test_motion call is reported.
I was expecting the test_motion call to return a collision with the other RigidBody2D, but it seems to be ignoring it (reporting a collision with the wall beyond it instead, a StaticBody2D)
This is the code on the left-hand RigidBody2D
extends RigidBody2D
func _process(delta):
var result = Physics2DTestMotionResult.new()
var hit = self.test_motion(Vector2(30000,0),true,0.08, result)
if hit:
$collision_marker.set_global_position(result.get_collision_point())
But if i alter the right-hand rigid body to static mode, the collision circle appears where i expected it
Steps to reproduce:
Open reproduction project, run the scene. The marker circle stops at the right-hand static body 'wall' (not the Rigid Body in front of it)
If infinite_inertia is true, body will be able to push RigidBody2D nodes, but it won't also detect any collisions with them. If false, it will interact with RigidBody2D nodes like with StaticBody2D.
Godot version: 3.2.2
OS/device including version:
iMac
Operating system: Darwin-19.3.0-x86_64-i386-64bit 64 Bits
Graphics card: AMD Radeon Pro 580 OpenGL Engine ATI Technologies Inc. 4.1 ATI-3.5.5
Issue description:
My test scene has two RididBody2Ds. The first has a script that uses test_motion to check for collisions to the right of itself. A second RididBody2D is over the the right. Behind that is a StaticBody2D wall. All physics nodes have their collision layer and masks at the default settings.
The code on the left-hand RigidBody2D uses test_motion to check for collisions to its right. I have a collision_marker sprite, a red circle, to visualise where the collision from the test_motion call is reported.
I was expecting the test_motion call to return a collision with the other RigidBody2D, but it seems to be ignoring it (reporting a collision with the wall beyond it instead, a StaticBody2D)
This is the code on the left-hand RigidBody2D
But if i alter the right-hand rigid body to static mode, the collision circle appears where i expected it
Steps to reproduce:
Open reproduction project, run the scene. The marker circle stops at the right-hand static body 'wall' (not the Rigid Body in front of it)
Minimal reproduction project:
test_motion_bug.zip
The text was updated successfully, but these errors were encountered: