In my situation I have a vehicle class object and a seperate actor for a pickaxe weapon. If I attach the pickaxe as a child of the vehicle, it makes the vehicle fly around or just generally freak out. This is because the collision settings are set to hit vehicles. When I disable that collision option, the pickaxe is positioned correctly and generates hit events… The thing is, I want the pickaxe to physically hit the other players’ vehicles, but in order to do that, I need the collision setting to be enabled for vehicles on the pickaxe. Since doing that makes your own car fly, I need a way to ignore colliding with any parent components even if your default channel setting is to collide with them. Is there a way to accomplish this? Any tips would be greatly appreciated.
TL;DR: I found “Ignore Actor When Moving” node, but it isn’t working for me at all. When I print “get ignored actors” or whatever, it shows me the correct actor, but they still collide. I need an actor ,which is a child of a parent object, to not collide with its parent, but to collide with other objects which have the same collision channel as the parent (in this case, vehicle). Rama, or any other gracious souls, please help!
I’ve had weird scenarios like this too. I usually solve them by using a combination of OnHit and OnActorBeginOverlap events. The idea is that OnHit you check to see if the actor you hit is the one you’re trying to avoid - you can do this by setting a tag on that actor such as ‘NoResistance’ and check for it using Actor Has Tag, then if so you set the collision response for all channels to overlap on the actor. Then using OnEndOverlap or whatever is appropriate you can set the collision response for all channels back to block.