I posted this in the general forum and realized it was probably the wrong forum. So here we go.
I’ve been scouring around the web for a elegant way to handle elevation changes in a 3D twin stick shooter and need some direction on how best to implement this in UE4 or if it is even a good idea to do. It opens up much needed dynamism but certainly presents some challenges on the back-end.
Valve’s Alien Swarm does this though I haven’t been able to dig in to find how they do it. Basically if there’s an alien on terrain above or below, one can aim with the cross-hairs, and shots automatically angle to reflect this to fire at the target. In most other cases, the shots continue on the same plane as the actor like any twin stick shooter.
Now I see two potential options here though perhaps there’s more:
- Shots only angle up or down if the cross-hair is over the enemy.
- This means aim has to be accurate and no real chance for suppression or environment destruction of objects.
- I think Alien Swarm uses this method.
- If the cross-hair is over a different plane, the shots auto-angle towards that plane.
- I can’t think of any downsides compared to #1 as it would require accurate positioning.
Collision challenges with angle shots will exist so elevation gets the advantage from a cover perspective which is realistic. Are there any other thoughts on this topic?