Character walking around a 90 degree angle of object.

Hey guys! I’m looking for methods or ideas for having a character move / or walk smoothly around the outside edge of a box object 90 degrees and have him align to the side as he walks over that edge. Are there any features inside Unreal 4 that would help with this?

One method we attempted was: ( But ran into some issues… any other methods or perhaps a solution to what we are missing for this one would be very helpful!)
What my friend tried to do is use the FaceIndex data from HitResults that come from traces. With that, he can access the vertices of the triangle that the character is standing on using the vertex buffer and the index buffer.

Now if the mesh has smooth shading (averaged vertex normals), my friend can just calculate the barycentric coordinates of the trace impact point on the triangle and get interpolated normals to rotate around edges, even 90° corners.

The problem is with hard shaded meshes, where he’d need to find all the adjacent vertices to smooth them out on the fly. For this, he found there’s the adjacency index buffer in the mesh CPU resources, but it doesn’t seem like it’s giving him all the information that he needs (there are always one or two vertices missing that he is sure are adjacent to the main 3 vertices).
He says that the adjacency index buffer is 12 times longer than the Triangle count.

he posted some other details about it here together with a question… Post #2
https://forums.unrealengine.com/deve…54#post1409654

Before you start messing with vertex buffers and stuff: How do you handle gravity and character orientation? Smooth movement around a corner could be as simple as lerping between previous and current face normals and orienting the character accordingly. But UE is set up for gravity along the Z-axis and for your character to be able to walk along the side of that cube, you’d have to modify code in the UCharacterMovementComponent class.

Or maybe not, depending on how you implement movement and character orientation, that’s why I asked.