Collision of attached actor does not work correctly

For example, add 3 static mesh actors in scene, make their collision preset BlockAllDynamic.

Actor 1 is to be the wall, actor 2 is the parent, actor 3 is the child.

Add some input control in level blueprint, so that you can move parent and child freely.

When child and parent are not attached together, moving both parent and child (I used AddActorWorldOffset with Sweep = true in this example), their collision work correctly and they are blocked by the wall.

Whenever I attach the child to the parent, and try to move the parent, the collision of the child is not working anymore, the child just intersect with the wall.

A [test project][1] is included, open the level blueprint and see what keys to use; open the only one map in Content folder first, then just press Play and move your default pawn to a location that you can see the 3 actors and try.

I asked this question in the comment [here][2], but I think it’s better to ask it as a standalone question.

Below are some screenshots.

65189-blocked_by_wall.png

Add Offset with “Sweep” function WON’T check the children, just root component.

I think it’s better way that If you press P, make a bool such as “is together?” to true

And if this bool set to true, when press U,H,J,K , the Sphere and Cube will move together.

Thanks for reply. So about “Sweep wont check the children”, is that by design or a bug? If it’s by design, why? Move together is possible, but the intention of attaching is that I wont be necessary to bother these things, the transform of children would be correctly calculated.

I’m using 4.9 as we’ll. I’ve been trying to attach skeletal and static meshes to a vehicle, so they can be torn off via damage. Maybe I can do it with 1 skeleton, but if a part isn’t always going to be attached, it should be a seperate asset, no?

Anyways, if I attach a mesh to a socket on my vehicle, I can collide with it as a player walking against it, and also shoot projectiles and collide. But when driving the car, the collision is ignored like you guys said. That is, until I turn on simulation I think, then I believed it worked. Need to double check. Not at my PC now.

But, I tried attaching a collision box as well, same deal. But I attached via the editor and not in blue print code and not from a level asset that is placed.

How else would I do this then? Can we enable/ disable or delete parts of a physics mesh at runtime? So in my base vehicle I add the bumper collision, then when damaged, remove it?

This does seem like a bug though? I’d think people would want this functionality?

Edit: I forgot. It DID work, to a extent, when my attached physics box was using the root bone/node.
But then my vehicle physics was basically removed / screwed up. The car was tipping forward and kinda floating in the air. But the bumper physics box worked.

If you attach a child to a parent, the actually Bound of “Whole Actor” will be the green box :

65346-untitled-1.jpg

so if you attach two children, the bound will be :

there is a lot of Blank Space, so if you try “Sweep” check, it may be weird.

Also, if they use “Convex” bound for Sweep Testing, means all components have own complicate collisions and combine together, can cause more calculation than only one bound and the result may not be what you want.

I am not 100% sure if I am right (Just my experience). Because it is about the purpose that engine designer want to achieve.

That makes sense…

I just tried attaching trigger volumes and box collision just now, and it will sometimes generate an overlap event, but never on walls (static meshes). Even with the walls set to blockAllDynamic and generate overlap events.

So I guess that’s the same issue then/same as this?

But, the fact still remains… how would we go about this then? I can make my pawn/root collision larger, that’s fine. But how I can detect if you hit the front bumper of my car, or rear, and at what force?

It seems like a “simple” thing to do, but maybe I’m missing something… I’m quite new to the engine yet…

Thank you!

Edit: When I turn on simulation on my damaged bumper, so it hangs off, it generates the events… maybe I could always be simulating, but set the constraints manually via blueprint attachment, so its rigid, then enable angle constraint/movement when damaged… but that seems expensive… also probably not the best solution…

Overlap event should always generate, so let’s deal with this problem first.
The conditions of Overlap are:

  1. Two object must “Generate Overlap Event”

2.The Collision Response of the “Trigger” must “Overlap” the “Collider’s ObjectType”

3.The Collision Response of the “Collider” must “Block” the “Trigger’s ObjectType”

Please check the collision setting.

Ok. Thanks! I’ll double check.

Ok, awesome. I was able to attach a collision box to my car, and it will generate hit/overlap events now with the projectile/character pill and the world, when setup right :). When smacking into a wall, I cannot get its velocity of course, so I might have to use the vehicles velocity in that case, to drive damage. But otherwise… I think this will work! I can get hit evens when the bumpers running physics as I said before.

@Smallee Sorry for the late reply, your answer with pictures is awesome and clear, thanks! A little pity is that there’s no Staff here and give you a support, that would make the thing complete.