Why does the pawn collide with an overlap object?

I have a “pickup” actor, specifically a flashlight simulating physics. The actor contains a skeletal mesh and a collision sphere for overlapping events. However, when the player moves to the “pickup” they collide regardless of the settings. I want the player to be able to walk through with affecting physics on either actors.

67211-example_1.png

Moves on collision. Though, if player is still, it can roll through.

Collision sphere is parented to skeletal mesh, which simulates physics.

Player capsule

I understand there may be many answered questions, however I am new and would like a further explanation.

Because the pawn block with world dynamic put in the player pawn overlap in world dynamic

(Object Type)

Unfortunately, that doesn’t change anything. I’ve tried to change the collision properties of the sphere and the pawn(player), but I get the same issue. I have noticed however, that this only occurs when “Generate overlap events” is set to true.

Put the flashlight in ignore all and player overlap with the world dynamic.
Sphere put the block pawn

If I make the flashlight ignore all it will surely fall through the floor. If the sphere blocks the pawn they will collide.

put ignorin only the pawn the flashlight

If I make the flashlight ignore all it will surely fall through the floor. If the sphere blocks the pawn they will collide.

not all only the pawn

not all only the pawn and block other objects

I discovered it only happens with skeletal meshes. It works fine with static. Is there a way I could use a skeletal mesh instead though?

rjvm said the right thing, you misunderstood him. Your BP has multiple components: Scene, Mesh and a Sphere.
I guess the sphere’s purpose is triggering an overlap. so drag it beside the mesh (so it’s not a child of the mesh) and change it to overlap (no block).
You then can set your mesh to block with the world, to prevent it from falling through the floor.

Depending on the purpose of the objects, it’s easiest to set all but one to “ignore all” and enable collision just on one of them.

PS: I think “scene” makes the stuff just confusing and might lead to wrong settings. drag the Mesh over the Scene to replace it, you don’t need the Scene.

This post on the Epic Blog explains how collision works and why you still collide when you set the flashlight to ignore everything without changing the channel.

I know it may seem ignorant, but could you make an example? If you choose to, make it with a skeletal mesh with physics enabled.

“physics enabled”… you mean collision enabled or “simulate physics”? either way, it simply works. Here is my BP.

Specifically. Set your static mesh as the parent, so that it will collide with the world and take everything with it.

Next. attach a scene component to it, changing its properties should not be necessary.

Then, attach your overlap sphere to that scene component and set it to overlap all.

In the end the hierarchy should look like
Static mesh :- Scene:- Sphere

I was having this same problem but 's answer gave me an idea.

Would this work with skeletal meshes?

It should. you may need to change the skeletal mesh’s physics/collision settings to ragdoll or physical object. It really depends. Also, physics operate more predictively when your player pawn only has one set of collision (the capsule) being taken into consideration. I noticed my player mesh interacted with physics objects erratically before removing collision for it all together.

The problem is not about physics configuration, you are using a default character implementation, that contains its own collision handle inside of CharacterMovement component, you have to disable the EnablePhysicsInteraction inside of the component

3 Likes

Wow, I wish I knew it was that simple. Thanks.