I’m trying to make a reticle for my third-person tank. Because I want it to always face the camera, I placed it on a billboard component, then attached that billboard to a spring arm so that the reticle would ‘hit’ objects and move closer to the tank when obstructed.
Unfortunately, as you can see, the reticle is incredibly stuttery, and barely visible when the tank is not still. I’ve looked around and the only advice I could find was to change “billboard > component tick > tick group” to pre-physics, which didn’t appear to do anything.
That is a smart use of a spring arm :). Stuttering could be smoothed out with arm “camera lag” but that would not be my first solution since you want the reticle to respond as fast as possible for accuracy. This means that most likely with any solution stuttering might be generated by input devices, think of joysticks / gamepad / mouse slightly detecting movement in opposing directions. Perhaps detaching all devices except a mouse or setting deadzones already eliminates that possibility of input noise. As for the reticle jumping a bit when looking up from close by this is could be expected because the smallest joystick movement (usually this is quite big on bad controllers) causes a big distance update for the reticle.
For visibilitiy you must ensure a minimal size of the reticle. Optimally you use two contrasting colors next to eachother (red yellow, black white) to ensure contrast against any background, on a line with a minimal thickness. In web design a contrasting border around a button is commonly at least 2 or 3 pixels. Anything smaller is not only difficult to see but won’t be pretty.
Lastly, I am unsure if post processing affects this billboard component but ensure there is nothing like blur or AA going on with the texture cancelling it out against the background
Thanks for your reply. I tinkered some more and made the reticle really big/high-res to see if that helped at all, which didn’t really, but it did help illustrate that it’s almost certainly a post-processing issue. You can see the visual artifacts as I move the reticle around. I’ll look into your suggestions soon.
It looks like that’s what’s happening. I tried a sprite instead, and while it was a lot better, it still had a little bit of artifacting going on. I’ll have to figure out how to make the reticle non-emissive while also not having shadows cast on it.
My solution ended up being replacing the billboard with a widget component. This requires creating a separate widget blueprint as well, as the widget component is only a container. Make sure that in the widget component, “User Interface > Space” is set to Screen, otherwise the artifacting issue is still present. The spring arm still functions as desired.