Area3D Entered detections occurs where it should not

Godot Version

4.2.2 Stable Mono

Question

Hello,
I’m new to Godot, but have some experience with other engines.

My game is in 3d.

I setup a “Boundary” zone, which is an Area 3D.
At first I used a World Boundary Shape and also tested with a Box shape.
I need that boundary to be a 2D plane (or, in case of the Box, a thin box).

I place the detection area in 0, 0, 20. In case of the box, the scale of the Shape (not the node), is 17, 17, 1.
The object I spawn is at 0.0.0 and is moving in Z+ direction.

My problem is that the “Area entered” signal is sent when my object is at z = 0.05
If I place the detection behind the spawner, the “Area entered” signal is not sent.
But if I place it in front, no matter where (can be in z=1000), the “Area entered” signal is sent at z=0.05

The detection zone is the selected object (to the left) and the spawner is located more or less near the light you can see to the right.

To be noted that I have a similar setup to detect rigid bodies which works as intended.

I have seen few other topics talking about “Area entered” issues, but not really similar to mine, here.

So the question is:

  1. is there a known issue with area entered detection ?
  2. am I doing something wrong ?

Sounds like it might have something to do with the Shape margin of the CollisionShape3D?

image

There should be a yellow warning box next to the Body/Shape that tells you that non-uniform (eg 1, 1, 1) Scale values will result in this type of behavior. If you want to make your Collision shape bigger/smaller/etc you have to modify its size within the shape’s Resource and not the Scale.

1 Like