How can you access the faces/tris/verts of a collision mesh?

How can we access the faces, triangles or vertices of a (collision) mesh? I’m trying to do a single line trace and find the actual face that was hit. I need to know if the line trace was close to the edge of the face or not. Can I do this?

I saw that FHitResult has a FaceIndex, but that seems to be used with complex collisions only.

Hi,
Sorry to bring the old thread to the front.
But I’m also quite interested in this question as well.

The application of this technique would be very wide and useful.
For example, a bullet hits something leaving a bullet hole or a paint brush that can change the color on the faces it went through.

May we have some access to the information like this?

Did you try the Get Closest Point on Collision node? To be honest I don’t quite understand how it works, but it looks like what you are looking for.

Here is the node reference:

And here is the C++ reference of a similar function made by Rama, which might be related or be the origin of that node:

It even looks like Rama’s function returns not only the actual point, but the distance to it as well, so by comparing that to a threshold the original poster might have known if it was close to an edge.

Now, for sbbg, leaving a bullet hole is easier done by spawning a decal at the hit location of an on hit event or a trace, and attaching the decal to the actor in case it is a moving object.

Changing the color of the faces I think would imply that you have a dynamic material for each face. To do so in a single material would mean you are writing info to a texture inside a material. That is possible by using a CanvasRenderTarget2D, but judging by what I have seen on other threads, what is not currently possible is getting the UV coordinate corresponding to a given vertex, so you wouldn’t have the information needed to know where to draw on the texture.