How to narrow AoE Detection

Greetings All, I’m working on trying to replicate Reinhardt’s Ultimate ability from Overwatch. It’s an AoE, its damage travels over time, and it can only detect a hit within a pie slice of the AoE.

Here is a link to a video showing what I’m trying to achieve, timestamp 3:23.
https://www.youtube.com/watch?v=1hLbceyuF_o&t=218s

As of right now I have a cylinder that spawns and scales in size over a timeline. Once it overlaps another actor it applies damage, to all nearby enemy actors. Right now I’m trying to figure out how to narrow down the AoE into a cone shape. I’ve read some other forum posts that talk about using sphere collision and dot products, but I’m having some trouble wrapping my head around it. I’m going to keep researching and testing but if anyone can watch the video above starting at the 3:23 mark to see what I’m working towards that would be great. Then if anyone has any knowledge about how to make it work or where to look for info that would be even better.

Thanks for taking the time to read this and possibly help. :slight_smile:

As of right now I am utilizing a cone static mesh that checks whether or not an overlapping actor is within range to receive damage from the AoE (expanding cylinder) attack. When I test spawning the attack with no actors within the cone no damage is dealt. Once I have one or more actors overlapped with the cone they receive damage but they take multiple hits as the cylinder is expanding. They should only take damage once the cylinder reaches them and overlaps them. If anyone has any advice that would be appreciated. :slight_smile:

just save an array of hit actors (AddUnique) to only apply damage once and clear the array when a new attack begins

1 Like