Adding weight to Static or Destructible Mesh. (Or Root/attach to floor)

I have a bunch of blueprints that contain a destructible such as “Brick_Wall_DM” for example. When I’m in my game and I whack Brick_Wall_DM with my sword, it breaks a little but it goes flying as if it weighed just 1kg or something.

How do I actually change the weight of a Destructible Mesh (or even a static mesh) so it doesn’t move or barely moves? I tried playing with the mass scale values and seating the weight in the physics section of the details but it does nothing. What am I missing?

Here is a video to demonstrate what I mean, you can see that the brick wall goes flying when I hit it, I want it to be heaver or not moving: [- YouTube][1]

Here are my current phisics settings for the brick wall:

http://katianie.com/brick%20wall%20settings.PNG

You have enable gravity on correct? Even if you have simulate physics unchecked it will still use that for the actual breaking simulation.

While I haven’t used it a whole lot, that’s the only things I’ve found that I know would cause that type of issue other than setting mass scale values or such too low but it looks like you already checked those.

Less likely is what is your scale of stuff at? If you make a block and drop it it falls like it should if set to simulate? I had a massive mech smashing through walls and with the scale really high even with gravity everything fell really slowly, so while not likely it’s also something that comes to mind in case you just imported a new mesh/character but it’s scale was off and didn’t have anything else in your test scene to compare it to and so didn’t notice.

Otherwise have you tried creating a new destructible object without touching any settings to see if you still get this result? If so then try setting it to break on collision and just walk into it to see if it’s something specific to your weapon or sword swing. Also creating one in a new level or project to see if you might have something off in your current project that’s causing it if nothing else seems to work might help you narrow down the cause.

Thanks for the reply, I added a video and a screenshot to my original question to help clarify.

Yes, I have Physics enabled, it probably needs to stay enabled so the bricks drop to the ground when broken off.

Ok, I think the real issue is two fold.

One, your brick wall is not rooted to the scene, so the whole thing can be flung about, rather than only the smaller parts breaking off.

Some ideas for things to mess around with are the linear dampening setting, turn that up a little and some of the parts will be less inclined to fall over or be knocked about if not in the direct path, turn this one up to high though and things will start looking kinda weird, so touch with care.
Also you can raise the impact velocity threshhold. This will make parts only react if they are hit by something moving fast enough, this way the smaller pieces moving out of the way of your sword won’t themselves trigger as much of a cascade effect breaking everything else. Ideally you’d want to make chunks immune to being broken outside of a certain radius of your colliding actor but I’m not sure how to do that myself.

Second, the force you are applying against it from the sword is likely absolute. I’m guessing your sword isn’t set to simulate physics either through the normal mode, or through some hack (like giving it a collision that will push it back from any normal it hits based on a spherelinetrace down its length, and then making it so it will also add a small radial force where that collision happened, so it looks like it hits and sends stuff flying but it’s actually not really touching it and if you hit something solid/unmoving it’ll just rotate back in your hand).

As it stands if you hit it with something that is simply being waved around and has an absolute force then you could wack a 500 ton rock with your sword and send if flying like a baseball if that’s what it has to do to get out of your swords way.

There may be (and almost certainly are) better methods to get what you want than through what I’m suggesting, but it’s what comes to mind given my also still limited experience, so hopefully it can be of some help.

Thanks for all the info! How do I root it to the scene? I think that might give me the effect I’m looking for, or at least root the bottom of the mesh to the scene. How do I change it from absolute force to prevent it from flying away? The sword is simply a static mesh with collision defined by the 3d mesh. So my sword blueprint is simply just a static mesh. In my C++ when NotifyHit is triggered, i apply damage to the other actor(the destructible).

What better methods do you suggest?

Well, like I said I’m not sure just how to root parts of it to the scene unfortunately. Not something I’d looked into myself yet. This would probably be the first thing you’ll want to look into though as it seems it might be the best suited answer. So sorry I can’t help much on this one.

Also don’t really dabble in the c++ end and just use BP myself, but lets see if that bit of knowledge still can help.
One idea is if the sword does damage to break the chunks, you could try to make it an overlap all dynamic type of collision so it wont break or fling the bricks itself, and just let it damage on overlap, that might keep it from flinging the entire thing around, but also might not result in them being flung in the right directions, might check for the hit/overlap normal and apply a force in that direction to that chunk scaled by the swords speed. That might work…

The other one where it meets resistance is to have a line sphere trace down its length that tries to pivot it away from its impact normal if you want it to have a sense of feedback, then lerp it back towards it’s original zero relative to your hand or socket or such that holds it. I’m not sure on the exact math for that one off the top of my head either sadly.

If I can simply root the static mesh to the floor so it acts like an actual wall that would solve everything.

I think the answer may be with Physical Materials, I’m looking into it.

World Support tick box. There is an example in content examples destructibles level, example 5.

Seems you tick that then turn up the support depth up a few times for it to work. I’m getting somewhat mixed results myself on it so far so I’m still missing some details but at least I found what it is that we were missing.

I set the support depth too 90000000 and ticked world support but still no change.

I tried playing with the Physical Material but that did not work either :frowning:

Did you move it so part of the wall is inside of a static object/mesh?

it ejects the wall out of the floor like a toaster >:/

Did you then go and tweak the settings for the chunks themselves to use it? If they aren’t tagged for it then I had that happen on my own too. (under chunk parameters tab.

Haven’t had the time to really mess with it more since I’d use it and some parts would break off while others would remain stuck to the main cube/overlapping static beyond what I’d expected, but it did seem to be the right direction.

I’ve tried everything you said, I enabled support chunks, I enabled it for the bottom portion. I set the floor to block all collision and the destructible is lodged halfway into the floor. I played with the support depth numbers both positive and negative and I have world support ticked, it still gets pushed out of the floor and ejected like toast in a toaster. I also tried to enable auto weld but that didn’t work either.

I also realized I need to have physics enabled for the physics collision of the sword hitting the wall destructible. Both the Wall and the Sword have physics enabled.

The answer is Physics Constraint

1 Like