Projectile hitting caster

I’ve read all that I could find on this issue but I’m still having the problem with the projectile hitting the caster on spawn. I’ve tried the following with mixed results:

  1. set collision of spawned actor to “Always Spawn, Ignore Collision” ← object spawns but then immediately collides with the actor who spawned it.

  1. set projectile collision to BlockAllWorldDynamic ← seemed to work for a while but then didn’t on repeated tries.

  2. set projectile collision to Custom with custom collision channel → collision query only → ignore pawn ← seemed to work at first but didn’t on repeated tries. Also tried creating a separate channel for the player and having the player identify as that channel.

  1. on collision hit for particle collision body → get instigator → if instigator is not other actor → do stuff ← this also seemed to work at first but then later didn’t. If the projectile is hitting the instigator it just stops moving.

The only solution that gives a passable result is moving the socket out of the ship’s cannon but then if the ship is moving fast enough, it will hit it anyway.

For the collision body, I’m just using a sphere collision.

collision.PNG

I’m going to assume you’re using the Character Class (not Pawn) as your parent class. This would mean you have a Capsule Component and a Mesh and the Spawned projectile is hitting the capsule component.

If this is the case you want to create a new Collision Object Channel for your Capsule Component. … I named mine “PawnCapsule”.
*Project Settings → Engine → Collision

*

In your character class set your Capsule Component collision preset to “Custom” and object type to “PawnCapsule”. Then set “Projectile” to ignore under collision responses.

Next adjust your projectiles collision settings to Ignore “PawnCapsule”.

The end result is the projectile won’t collide with any player capsule. It’ll be character mesh dependent.

I appreciate the response. But I have already tried this as mentioned in my 3rd solution. Here is the setup:

Projectile Collision (Sphere)

Player Mesh (static)

Though my player isn’t a character, it’s a pawn with a static mesh. I have had mixed results using the pawn collision setting though. My static mesh does have a convex collision body which interacts using physics in the world. Another issue I’ve run into is when I set the custom collision object to player, my player does not spawn and I cannot move.

Hi, you can use “Ignore Actor when Moving”. Plug in your Projectile Collision as Target and the shooter (instigator) as Actor. Then the Projectile will ignore this actor.ignore_actor.png

1 Like

This only seems to work with the collision of the projectile set to Custom and Query Only (no collision). But it does work and it allows for instances of the same player to shoot each other. Thanks.

I am a bit of a stickler Meeseeks though. I mean, in any other application, if I write some form of “if(collide with parent){collision = false}” it works. Only in Unreal does stuff work so so half the time.

Also, I seem to have figured out my collision issue with using custom collision channels. In an earlier post I stated that custom collisions on my pawn with an object type set to Player caused my pawn to not spawn. The “Player” channel is set to block with the laser or projectile set to ignore. As seen below:

Apparently, ticking pawn to “ignore” solves this. But why?

I mean, it works until tomorrow. Seriously though, why does this tick matter? Setting collision to blockall or blockalldynamic allows the pawn to spawn fine despite it being set to block on both. Sigh…

You need to post pics of your pawn/mesh setup (viewport) so we can clearly see what you’re doing. The Laser socket also needs to be clearly identified (location).

Thanks It Works !