Static, concave collision mesh?

I posted this on the answer hub, but there doesn’t seem to be much traffic there - so apologies for posting in both places.

Am I understanding the limitations of the Unreal Engine correctly? We cannot use a concave triangle mesh as a static collision object? I’m hoping I’m just misunderstanding what I’ve read. Perhaps this limitation only applies to dynamic objects? That would make more sense. Otherwise, how are you guys creating collision for lumpy/bumpy, static, non-terrain foundations and such? Or how would you go about defining collision for a skating halfpipe? Developers definitely need a mechanism to define non-convex collision geometry.

Most of the physics engines I’ve messed around with support triangle geometry (of any type) as static collision. In fact, it doesn’t make a lot of sense to see Unreal convert the render mesh into (complex) collision geometry without having the ability to do this internally.

If Unreal can actually handle these types of meshes in the form of static geometry, how do we go about importing them? The manual defines the UCX_* prefix as convex only, right?

Thanks for any advice!

https://docs.unrealengine.com/en-US/Engine/Content/FBX/StaticMeshes/index.html
[TABLE]

UCX_[RenderMeshName]_##
Convex objects can be any completely closed convex 3D shape. For example, a box can also be a convex object. The diagram below illustrates what is convex and what is not:

https://docs.unrealengine.com/Images/Engine/Content/FBX/StaticMeshes/Convex.jpg

1 Like

Thank you for your response. I’m a little confused as to what you are pointing out. Are you saying no, it is not possible. Or yes, use this prefix to import them? I was familiar with this page, and it is essentially saying you cannot have any type of dips or recess in your collision shape, which points to a no. But it doesn’t really mention anything that separates dynamic objects from static geometry. It makes a lot of sense for dynamic objects to be limited in this way. What doesn’t make any sense is for static collision geometry to be limited in that way.

So that’s my question - is there any way to import static collision geometry with concave dips and/or doughnut holes. According to the documentation, using UCX_* imports a convex shape. This leads me to believe the collision will break down in some scenario if the mesh is not perfectly convex.

Thanks!

Once your mesh is imported as an mesh asset open up the editor for the mesh and change the collision to use complex collisions as simple.

4 Likes

The proper way to do it is to follow the guideline and create multiple collision boxes to create the shape you need.
to make the hole in the second picture you just use 4 meshes to divide it up so its not one single UCX

1 Like

I had a similar if not same issue as OP, this solved it for me. Thanks!