I’m working on a sidescroller where the player runs back and forth the aisle of a train. The player will need to be able to select seats as well by hovering the mouse over the seat (i.e. for throwing things to certain seats). I’ve got a working concept, but I’m looking for some good ideas on how to improve on the highlighting mechanics, as the current implementation has some issues.
Currently it gets the hit result under the cursor, and if it is a seat it will highlight that seat. The problem start showing when you try to select the inner seat of a double-seat, as proximity, visual overlap and perspective can make the margins for selecting the right seat quite small. I made a 40 second video which might help illustrate it better (if you can ignore the quickly slapped-together visuals of everything). It is particularly visible about 20-30 seconds in.
So the question is, does anyone have any good ideas on how to improve this to make it easier for the player to select a specific seat (keeping in mind the player will be working against timers)? Are there changes I can do to the current implementation? Are there perhaps a completely different implementation that would be better suited? I have been trying to move the camera position a bit to make the seats more visible to the player, without finding a good balance. Whilst it would solve it by making it top-down, I’d rather not go there as it would ruin some of the aesthetics I’m going for.
For the record, this picture shows the current blueprint implementation. It runs of the tick in the player blueprint. The “Highlight” event it references when casting to BP_Seat simply toggles visibility on the transparent red cube object I use to show the highlight.