I've been working with UE4 for a long time and one thing that always makes me sad is how needlessly complex it is to create and manage collisions.
The basic system in UE4 leaves a lot to be desired. You have a few premade settings and basic shapes for meshes, which works for basic meshes. But as soon that a complex shape is required - say, a hollow cylinder, then the engine abilities starts to fall appart.
Now, most of the current issues could be easily resolved if two (not so easy to add) things were implemented:
The first one would be to allow us to edit - directly in engine - the collisions. I have a shape that has a slight slope in it, so it's more of a trapezoid shape. Obviously, I'm stuck with a box collider, an off-the-track simplified collision, or an unoptimised auto-convex collision. If we could place vertex to specific coordinates, move edges and faces in-engine, most issues like this one would be fixed.
The second one is to support concave collisions made within FBXs. In fact, I was quite surprised that the engine didn't support this as is - it's a very common practice in the industry and also supported in the other big engines out there. The current way to deal with hollow cylinder is to create 12~16 boxes and cap all sides in a 3D software. 16-side colliders would require 64 polygon (128 triangles) if it was optimised, but with the current system, it costs 96 (192 triangles). It's not a lot, of course, but the problem is that it adds up. Say I'm working on a tower - ff I have ledges, windows, doors, other holes, the collision becomes more and more complex and to cut (make unique) every single piece that isn't convex just feels clunky.
Now I certainly understand that this is more complicated with dynamic assets. This is more of a static mesh issue, which I think definitely need an upgrade with how we can work and import collisions.
The basic system in UE4 leaves a lot to be desired. You have a few premade settings and basic shapes for meshes, which works for basic meshes. But as soon that a complex shape is required - say, a hollow cylinder, then the engine abilities starts to fall appart.
Now, most of the current issues could be easily resolved if two (not so easy to add) things were implemented:
The first one would be to allow us to edit - directly in engine - the collisions. I have a shape that has a slight slope in it, so it's more of a trapezoid shape. Obviously, I'm stuck with a box collider, an off-the-track simplified collision, or an unoptimised auto-convex collision. If we could place vertex to specific coordinates, move edges and faces in-engine, most issues like this one would be fixed.
The second one is to support concave collisions made within FBXs. In fact, I was quite surprised that the engine didn't support this as is - it's a very common practice in the industry and also supported in the other big engines out there. The current way to deal with hollow cylinder is to create 12~16 boxes and cap all sides in a 3D software. 16-side colliders would require 64 polygon (128 triangles) if it was optimised, but with the current system, it costs 96 (192 triangles). It's not a lot, of course, but the problem is that it adds up. Say I'm working on a tower - ff I have ledges, windows, doors, other holes, the collision becomes more and more complex and to cut (make unique) every single piece that isn't convex just feels clunky.
Now I certainly understand that this is more complicated with dynamic assets. This is more of a static mesh issue, which I think definitely need an upgrade with how we can work and import collisions.
Comment