Having an issue with Landscape splines. They appear to be generating Player Collision - but only partially. Some splines generate mostly complete collisions, but others are very broken and missing most triangles.
Here’s an example of where it generates them correctly. The patchy bits on the right are simply where the road is falling underneath the terrain, the actual triangles for the collision exist.
However, sometimes the collision doesn’t generate for a triangle. This screenshot is taken from under the terrain, looking up, so we know it’s not just clipped by the terrain.
And in some spots, it’s completely broken!
When you play the game, the following warning gets spammed in the console repeatedly:
LogPhysics:Warning: AddConvexElemsToRigidActor: ConvexElem is missing ConvexMesh (0: /Game/Maps/UEDPIE_0_MainGeometry.MainGeometry:PersistentLevel.Landscape1.SplineMeshComponent_290.BodySetup_24)
I presume this is being generated by the broken road triangles. However, I can’t figure out how to fix the triangles. Adjusting the curve sometimes fixes them, but then breaks other spots leading in/out of the curve.
The Static Mesh the splines are using comes from one on the asset store - they have boring, two-triangle collision meshes. Attempts to use Unreal-generated box collision meshes also do not improve it.
This appears to be isolated to specific meshes. If I use EditorCube or EditorCylinder, it generates a flawless collision mesh.
, so it appears to be limited to a subset of meshes. It even works with other complex collision meshes.
If I try the “Shape_Plane” asset from the Editor’s Starter Content, it works both in a new project and on the existing curves from the project that I was having issues with. This means it is specific to the asset I was using.
The specific assets come from [GTRoadPack]/Meshes/Ground_DryGrassyTrail (from the Unreal Asset store). Unsure what the rules are on uploading the .uasset for this.
I removed the existing collision and gave it a Collision → Add Box Simplified Collision. This makes it better, but still not perfect as the collision generates/fails to generate based on the rotation of the nodes.
And then with some rotation of the selected node:
When I do that I get a bunch of error spam from physics in the console: PhysicsLog.txt · GitHub
However, if I use the same method of generating an auto box collision using the “Shape_Plane” from the starter asset, the meshes work okay. Let me know if I need to upload the specific uasset from that Unreal Asset store pack.
Make a Landscape
Create a road spline.
Choose Segments in the Details panel.
Assign the GTRoadPack/Meshes/Ground_DryGrassyTrail static mesh to the segments.
Take your spline and twist it and make it go up/down and a few bends.
Visualize Player Collision and see the holes in it.
If it is specific to the assets from the pack, you will have to get into contact with the content creator to address specific concerns with the assets in question. Please get into contact with the creator to see if this is a known issue or what can be done to address it. You can email them at email@example.com.
I will accept that answer, however it feels like a bug that the collision system allows this invalid collision to be generated in the first place, no?
If it isn’t occurring with any other assets, it is most likely due to the asset not wanting to bend the way the spline intends, which can cause the collision to break. Adding additional vertices to allow the plane to bend may reduce or remove this error.
A bit late for this but might help others that got the problem as I just got it and it’s common to have this problem with collision that are too thin so the solution is to make a custom collision for the plane (as collision generated in Unreal will be too thin as it’s only a plane). That’s why with all the other mesh it was working