Bouncing projectiles have no collision
My projectiles ignore walls and floors (both BSP and meshes) but I want them to collide with those so that they can bounce off of them.
Some things I tried (may differ from screenshots):
My settings (click links at bottom of post to enlarge):
I created a quick custom mesh and added a HUGE floor collision box. But projectiles still go through it:
I copied the "FirstPersonProjectile.uasset" from the FPS sample into my project and rebuild it into my new BaseProjectile. I still have absolutely no idea why that one works and mine doesn't since I can't find any difference between the two blueprints aside from having a SceneRoot component (which I can't even delete).
I would still like to know though what I and all those other people did wrong. Because not one of these posts I could find anywhere on Google had an actual answer other than some silly workaround. Meaning nobody knows?
Secondly: Why does unchecking "simulate physics" also prevent collision-checks including overlaps? Intended?
I found the problem! Might be a UE4 bug. Apparently the moment I ctrl+x the SphereComponent from the FirstPersonProjectile and paste it back (this creates a scene-root so the sphere collision component is no longer the root) breaks it entirely. Only applies to actors that have the "simulate physics everywhere unchecked". So the CollisionComponent MUST BE THE ROOT in the actor-blueprint and when not, ALL COLLISION (except collisions with pawns for some reason) is gonna be ignored by the game for this object. I reproduced it across several projects. If Scene_Root is the root (which is default) it will break.
Sadly you can't override the Scene_Root in a child-component... Man this whole thing is so weird I dunno why they implemented the Editor to work this way. So you gotta put in a dummy-component instead of the default-root, then replace it in the child in the constructor with the real thing. Only then can you replace it...
Note that adding additional collision-components does NOT work (only the root-collision-component works).
Because of this insanely weird behavior my guess is that this is a bug.
When actor have DefaultSceneRoot you need to "Set Updated Component" in ConstructionScript. By doing this "Projectile Movement Component" will update the "Collision Component" other than DefaultSceneRoot ,then Collision will work!
answered Aug 02 '16 at 10:55 AM
Try having simulate physics Off, change collision type to block all, and simulation generate hit Events on. In the enent graph, make a hit event that adds impulse at location
answered Apr 19 '16 at 03:45 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here