Hello, Unreal Community.
I’m planning a system for detecting the edges of a mesh’s collision, but I’m not too sure of how feasible my planned system actually is. I’m new to Unreal’s C++, so I’m hoping to poke the brain of anyone with more know-how and is willing to give advice. I’m also new to the Unreal forums, so I hope that this is the right place to ask these questions.
My goal is to make an automated parkour system where the character will perform different kinds of jumps or climbs based on what kind of ledge is in front of them, similar to how the Assassin’s Creed series plays. To me, it seems like the easiest and most accurate way of getting the needed environment info is to use the collision edges of meshes.
All collision edges of a mesh
I want to get the edges and determine which ones are bordering a mesh triangle that is walkable, and one that is unwalkable. This should give me results for valid ledges that the character can either jump up to or hang from (this isn’t true for all cases, but let’s start with this). If there’s any type of object that contains info for edges such as vertex positions or rotation, then I think I can get a result like shown below.
Edges that I want to use
So my questions are:
- Is there an object that contains information of a mesh’s edges or wireframe, such as position and rotation?
- Can this data be accessed from a static mesh or BSP? If so, how?
- This one might be a huge stretch - if these objects exist, can they be traced against somehow by using something like a SweepMultiByObjectType? I’d like to sweep for just the collision edges and not the mesh’s triangles.
Thank you so much for any help that you can give. I realize that not everything that I plan may be possible, but maybe some alternative solution can come up through discussion.