I was wondering if anyone could help me out with a collision problem I’m having.
You see I have a character that is supposed to be able to pull out a bomb and then throw it, after which the bomb will detonate either after a few seconds have passed or immediately if it comes into contact with an enemy.
At least that’s how it supposed to work, instead the bomb immediately detonates as soon as it is spawned.
problem isn’t just limited to bombs either, as another playable character I have whose supposed to be able to throw fireballs instead has nothing happen when the attack button is pressed.
If I disconnect the connection to the ‘Destroy Projectile’ custom event then the character is able to shoot fireballs however the wrong sound effect is played whenever they throw a fireball. A “whooshing” sound effect is supposed to play when they throw a fireball but instead I’m getting the sound that plays when the projectile hits something. is almost certainly being caused by the projectile interacting with the player character when it shouldn’t be. Essentially what’s probably happening is that the projectile is colliding with the player character causing the “impact” sound effect is override the throwing sound effect. The fireballs not appearing when connected to the ‘Destroy Projectile’ custom event is mostly likely the same thing as well. Technically, the fireball is spawning but it’s colliding with the player character and ends up being destroyed before its even visible.
I’m fairly certain that these issues are connected to another problem that I haven’t been able to solve for a long time now. In the past, I’ve had a similar problem where when the player character spawns a bomb and then attempts to throw it, the bomb would instead catch on the player character and slowly drift to the ground. Although for some reason, the player character can actually throw the bomb if they turn around to face the direction, mid-throw. I’ve also noticed that the bomb will also catch on enemies as well, which also shouldn’t be happening. The bomb’s trajectory when thrown isn’t supposed to be able to be interrupted when it comes into contact with either the player or an enemy, only solid objects like scenery.
Player capsule component collision settings:
Player mesh collision settings:
Bomb capsule component collision settings:
Bomb mesh collision settings:
So I’ve tried creating individual collision settings for both the player characters & enemies in the hope that I could set the bomb’s own personalized collision settings so that it wouldn’t interact with the player character but it hasn’t changed anything.
Player character collision:
The bomb still explodes immediately after being spawned and the fireball is still playing the impact sound when it hasn’t collided with anything indicating they’re both still interacting with the player when they shouldn’t be.
I’m not sure if I’m following 100% correctly here on your execution, but you could try pulling off other acter and run a branch and check if other actor is: != self and run your logic off the true on a portion of it… It may need some tweaking on how you call these events, but that may help…
might stop the bomb & other such projectiles from detonating immediately upon being spawned but I don’t think it’ll help with the bomb catching on the player & enemies and slowly dragging to the ground. The bomb should be able to pass through the player & enemies without hindrance, although in the case of enemies, the bomb should detonate when it comes into contact with them.
Can anyone please help me out with problem? Its been causing issues in a number of areas with my game and I hasn’t been able to find a solution for a well over a year. I just don’t know what to do and I desperately need help.
Maybe try adding another collision in the actor that overlaps and leave the mesh without collision being blocked by the specific actor… You could also look into making another custom collision channel that works in a way that only affects what you want.
I’ve had to at one point rework the entire collision system in my game because of certain things falling through floors, but also needing to NOT collide with actors with the same collision channel. So I created a custom channel that gave me the extra control to exclude/block or overlap specific collisions that need to behave very much like a certain collision channel, but exclude specific things like grenades…
Okay, after fiddling around with the collision settings some more I finally got the bomb to stop exploding as soon as it spawned. The problem though is that now the bomb doesn’t have any collision with solid objects, resulting in thrown bombs falling through the ground.
I don’t why happening as the collision settings for the bomb are set to block WorldStatic objects which I’m pretty sure solid objects fall under.
Static Mesh collision:
Bombs are able to interact with other objects such as enemies but not solid objects, so what’s the deal? Anyone have any ideas on what’s happening?
IMO disable all collisions of the bomb component but the sphere collision component and work from there. Assuming you conly need 1 component in that actor to collide.
You could set the bomb with no collision by default and enable it when thrown… or create a preset for holding and another for thrown.
Also might be a good idea to save a pointer of the instigator and on the overlap / hit check for it to avoid triggering on the wrong actor.
Hope it helps.
I assume you’re referring to the problem in my initial post. As I said in my last post I’ve managed fix that problem, with bombs no longer explode immediately after being spawned and the player actually able to hurl bombs through the air without getting caught on the player. The problem that I now need help with is that bombs for some reason have now lost all collision with objects that are supposed to be solid, resulting in bombs falling through the scenery.
They can still interact with actor-type objects but not WorldStatic objects, which I believe solid objects fall under, despite the fact the bomb’s collision settings are set to block WorldStatic objects.
If I understood your issue correctly… I’ll just show what I meant above in a working example:
Can’t recreate certain channels not colliding… at least not willingly, but the idea is to avoid that in the first place.
Possible fix to all bugs:
Hope can be of some help.
Why not just add the player actor to the ignore collision list of the spawned bomb?
Does not affect movement of component when simulating physics. It will bounce once simulate physics is active.