So what I’m trying to do is to instantiate a node that acts as a one shot, but only able to appear on certain positions that the collision shape is covering. So how do I find the positions that the collision shape is covering? Or at least the range of the position.
Put tiny collision shapes at the positions and check for intersection with the main shape. Alternatively you can use PhysicsDirectSpaceState3D::intersect_point()