I believe it makes more sense, and it’d help me personally with a project if GetTouchingParts() returns an array of all the parts touching the parent, regardless of whether or not their CanCollide property is set to true.
Edit: My apologies! CanCollide parts are returned, the wiki just says otherwise.
I just experimented with this, and it only returns intersecting parts if they are BOTH CanCollide. Why doesn’t it check for both? It is easy for the dev to make their own parameters for functions like this. Can we have it so it can check for both CanCollide and NON-CanCollide?
As someone about to spend quite a bit of time solving for this, is there a chance we can get an API method for BasePart:IsIntersecting(Instance <BasePart>)?
Fortunately for @Quenty, I already did all the math for him. Also, what he actually wants is a better alternative to region3s and a way to test for intersection.
Namely:
ConvexMesh or, better yet, Mesh objects which are like Region3 in that they define a region.
mesh=ConvexMesh.FromPlanes(arrayOfPlanes)
mesh=ConvexMesh.FromParts(array of parts, or directory, or singular part)
with mutable properties:
mesh.Size
mesh.CFrame
and possibly even the immutable property:
mesh.ConstructingPlanes
And then
mesh:FindPartsInConvexMesh(directory)
mesh:IsIntersecting(singular part or array of ConvexMeshes or array of parts)
Or something like this.
These are the methods we want which @Quenty doesn’t know he wants, but actually does want.