Projectile Component doesn't work with Simulate Physics!

Simulate Physics stops my projectile movement component from functioning.

I have

  • Collision set to Block All,
  • Simulation generates Hit Event,
  • Simulation generates Overlapping
    Event

The only thing to get this Actor BP to actually stop when hitting another object with these settings is to use Simulate Physics.

However with these settings the object just drops to the ground at immediate spawn.

How can I keep this actor’s projectile movement component (firing it with velocity) with Simulate Physics checked so that it can actually collide with other objects, but still move as a projectile?

Manually spawning the Projectile BP, setting Simulate Physics, then Setting Actor Transform does not work!

Hard to tell without seeing your setup. With my projectile I have x velocity set to 1 and initial speed set to a high number and everything works perfectly. But my also collision still works when I’m not using simulate physics. Are you using any custom collision channels? Sometimes they default to ignore even if Block all is chosen. If that’s the case then use custom collision and manually set everything to “block all”.

.

Left is a static mesh that has the settings, but isn’t working with the projectile (middle and right) unless Simulate Physics is checked in the projectile.
Simulate physics will just have my static mesh fall if it is selected for the static mesh. My projectile is set to movable.

Maybe try adding a sphere collision component and make sure the collision sphere is the root component (if you haven’t tried this already). Remove all collision and physics from your mesh and use the collision sphere for collision and physics.

I tried recreating your problem. Before I added the collision sphere the projectile would just fall to the floor like yours. After I added the sphere and set that for physics/collision it worked perfectly.

it messes up my object’s spawn rotation (cannot be changed) and it also ruins the scale. The collision box always ends up way to big and the object way too small.

Is this fixable?

Can you post your projectile’s components? Every time I have this issue it tends to be because of the component hierarchy.

Sorry I hadn’t seen this earlier!

Drag the movement component onto your DefaultSceneRoot. I think that should work.

the default scene root cannot consist of a movement component.

Oh sorry, you’re right that’s my mistake. Put your Sphere in there instead. I believe the issue is that the component the projectile movement component is targeting is not the root component.

Edit: Or rather, the projectile movement is not targeting the component you’re expecting it to.

I dragged the sphere in again, but I have noticed this time the movement component displays a “Non-scene component” message in the dialogue box
You may be right but I’m not sure how to change this. The collision sphere works but still messes every aspect of dimensions and spawn position up

How can I keep this actor’s projectile movement component (firing it with velocity) with Simulate Physics checked so that it can actually collide with other objects, but still move as a projectile?

No need to simulate physics (turn it back off). Simply check the box for “Should Bounce” in the projectile component. This will likely produce the behavior you’re looking for. Adjust “Bounciness” as needed to preserve the velocity of the projectile after a collision (1.0 = no loss of velocity). Also, watch out for “Bounce Velocity Stop Simulating.” If this is set too high, then the projectile will stop suddenly as if it hit a wall. It’s mostly a concern when bounciness is set low.

Note: The root component of a projectile must be either a collision component, or a static mesh with simple collision.