Lowered Crosshair

Cool example of faking it enough to make it look about right. Try this:

The camera is looking along the yellow, but we’re rotating it by 10 degrees (exaggerated to demo, 5 would work better at 10k distance) and then project it along the new vector for 10000 uus, we then take that location and deproject it back to screen space. We also use it for tracing.

A simple 32x32px widget represents the crosshair. Since I’m updating the widget on tick, I had to:

This can be handled more gracefully.


The red one is the original, the darker one is our rotated vector deprojected back to screen. Trace hits that spot - that’s what’d you use to detect hits.

You may need to experiment with the values a bit, namely the length of the trace and the angle. Depending on how the guns are modelled and animated, it may not always look right. But then each gun can have its own offset for the reticle.

2 Likes