Download

Complex Collision on a "Rocket League Style" Stadium

Hi there,

I made a “Bowl” in 3ds max, a concave model with a lots of polys, i’m enabling the Complex collision as simple in UE4 10.4, my vehicle works great on it but the ball i made doesn’t collide.

Any ideas what could it be? The ball works fine when colliding with the vehicle, the vehicle fine with the bowl, but the ball with the bowl…doesn’t work :slight_smile:

Thank you in advance,

Nico

f6629af12d.png

Does the collision mesh have thickness?

No thickness but double sided geometry enabled, so i guess that should work

So is the screenshot of both your mesh and the collision mesh?

Have you enabled physics on the ball?
You have enabled collision on the ball right?

There is only one mesh, no collision mesh; the collision mesh is built in UE4 from the complex collision to simple from what i understood.

I tried making a copy of the object in 3ds max and make it a UCX; the collision i got in UE4 are totally wrong when i import the mesh + collision mesh.

Physics and collisions are enabled on the ball, when i hit it with the vehicle it bumps as it should.

Double sided geometry On : Vehicle collide inside and outside of the mesh / Ball collide only outside of the bowl ( when pushed against the outside walls )
Double sided geometry Off : Vehicle collide only outside of the mesh / Ball collide only outside of the bowl

So the ball doesn’t react to the double sided geometry but the vehicle does, any ideas on that behavior?

You can’t make a concave UCX collision mesh. That’s why the collision was totally wrong. Instead you have to divide that concave mesh into multiple convex meshes. Try it that way.
Also instead of modeling the whole arena as one mesh, I’d probably just model one long wall, a corner piece and a wall for the end.

How big is the mesh? It should definitely be broken down into smaller segments.

Thank you for your help, the main issue is that i need to have the corners quite accurate to avoid weird behavior when you drive the car on it.

The entire mesh is about 960 poly, splitting the mesh as one mesh per face i’ll end up with 128 meshes just for one corner + small and big sides, regarding the fact they are all concave i’ll have to make one mesh per face :confused:

Is that the only way to go ? Any ideas on why the double sided option in UE4 only works for the vehicle but not the ball ( that would simplify a lot this process :slight_smile: )?

Do you use sphere simplified collision as your balls collider?

If the stadium is that low poly, you dont have to worry about splitting it up. Can you show a video of the problem?

Collision channels setup up correctly? Is the Ball blocking the stadium or is it set to overlap it?

Collision preset is set to : BlockAll, tried all others but nothing fixes the issue, so no, didn’t set to overlap.
My ball has a sphere simplified collision yep, i imported it and also used the auto collision, same problem.

Video of the issue
[video]https://youtu.be/hy5vcn5nJR4[/video]

Video when i turn upside down the stadium, the collisions works on the outer side
[video]https://youtu.be/S9_EsvO3NTk[/video]

I second that! :wink:

Wouldn’t that be kinda insane to put back together in UE4? I tried just with one long wall ( 8 faces in concave shape ) and in UE4 the auto concave thing make some bad collision boxes so it’s unusable.

If i split them all, so in 24 pieces ( 8 long wall, 8 short wall, 8 1/12 of the 90degrees angle ), i can’t really imagine how to put that all back together in a clean way under UE4. Any advices?

Thanks guys!

Just set the origins on of the meshes onto a coarse grid, that way you can just snap them together. Level design 101.
24 pieces is nothing. Most levels consist of thousands of meshes.

Have you checked to see if your normals are inverted on the mesh? I feel if you flip the mesh and it works that the normals are most likely the problem. Try inverting the faces in your modeling program.

I just briefly tried to repro this with Vehicle Game sample.

I added a concave mesh (just sphere with inversed normals) into level with import settings to not generate any collisions for it, then set collision to complex collision as simple on the imported mesh. I also put another sphere mesh there to simulate the ball (mesh only had simple sphere collision on it) in it and enabled physics for the ball. It worked right out of the box, both for vehicle and ball.

You wouldn’t use complex as simple for everything but if it’s just the bowl, it should be alright perf wise (although you could optimize the mesh little further).

Great, thank you all for you help! Problem SOLVED ! :slight_smile:

The issue was the Normal that had to be inverted, from there i don’t need to do the double sided geometry which was buggy, now it just works like a charm