Collision not working

Disclaimer: I am really new to this program…

I tried to create a simple scale using the different meshes.
I have a static mesh that’s supposed to be ‘the base’ of the scale - it’s the box with a small cylinder on top (mesh 1).
In addition I have the mesh with the round hole in the middle. This is what I wanted to “sit” on the base diagonally and go up and down when heavy objects are placed on either side (mesh 2). My problem is that for some reason, these 2 items won’t “sit” on each other the way I thought they would. I activate gravity with mesh 2 being above mesh 1, but instead of mesh 2 falling through mesh 1’s cylinder top, the two meshed collide immediately when they reach the same height. It’s as though the hole inside mesh 2 isn’t being treated as a hole because it isn’t falling through.

Please help!!
Thank you

When using physics with a static mesh, the collision by default will be a simplified version of the mesh. This version will be very basic with no concave shape. This is intended to reduce the complexity of the physics simulation.

If you really want to have a collision with holes, you can change the Collision Complexity property to “Use complex collision as simplex” on the static meshes.

Good luck!

Sorry, I was mistaken and forgot you can’t have physics with complex collision.

I would suggest either creating a blueprint with multiple convex collisions or better yet, faking the entire scale without using physics.

I just tried that and now a strange thing happened: now the meshes won’t fall at all - they are still. And I get an error msg that sound something like
“attempted to simulate physics…bla bla…but collision is Complex as simple”

I’m sorry but could you maybe explain both of your ideas with a bit more detail? Like I said i’m fairly new to this program so I don’t exactly know what you mean by “a blueprint with multiple convex collisions” or how I would fake the entire scale?
Just to be clear, my ultimate goal is to make an object that will have a diagonal beam (?), and have like a heavy ball fall on the high end of the beam so that the low end rises and hits. It’s kind of like a scale or that thing kids play on in parks where the sit on opposite ends (forgot the name).

Ok, I think l understand your goal now.

I made a really quick prototype and it’s working fine. Here’s pretty much the only thing I’ve done:

  1. Have a simple collision for the arms of the scale (I scaled the basic cube static mesh inside UE)
  2. Enable physics on it
  3. I used physics constraints to make sure that the only thing that would change is the rotation of the arms in the correct axis.

I tested it with 2 physics sphere in a level and it looks great. Note that the smaller cube under the arms has no physics on it and is there only to show the center of mass.

Cheers!

Ok thanks a lot! I’ll try that out as soon as I get to my more beefy computer and will probably end up using it,
But just to be clear, is there no way to make my initial design work? i,e. Is there a way to make my original base (with the cylinder on top) actually go through the hole of the beam above as the beam falls on it? So that after that fall the beam will rest on top of it? (or perhaps be a bit wobbly, but you get the picture)

To my knowledge, there’s no way to have a physics simulation using a collision with a hole.

However, it would be possible to have something that look like what you want. Create an Actor blueprint that have the following hierarchy:

  • Box Collision (use the box extent to change its shape)
    • Static Mesh (your top mesh with the hole in the center)
  • Sphere Collision (with a really small radius, placed under the Box Collision)
    • Static Mesh (your base mesh, positioned so the base of the pin starts at the same location as the Sphere Collision)

The Box Collision will need to have Physics enabled, the collision preset at PhysicsActor and the X and Y position constraints enabled. The Sphere collision needs to have its collision preset at PhysicsActor or BlockAll (not sure which is best). The 2 static mesh will have NO physics. They are only there for visual and serve no purpose in the physics simulation.

You can test everything with the Simulation button inside the blueprint editor. The Box Collision (and the top static mesh) should fall on the Sphere Collision and stay there.

Good luck!