I’ve finally got aiming basketball shots in 3D space feeling better than fingernails on a chalkboard.
The shot prediction ends its projection on the plane of the nearest rim, and it also projects a shadow straight down to help anchor it in 3D space. This includes rims that aren’t flat – pull back from the left rim, and the trajectory will drop appropriately.
The shot prediction will also watch for collisions with objects, and will place a texture on the collision point with the normal facing away from object. You can see it “wrap around” the top edge of the backboard.
I think this has convinced me not to have any rims leaning away from the user, like the one on the far right. It’s too difficult to gauge the shot when the rim’s plane lines up with the camera’s forward direction.
This is the culmination of a few different iterations of making the shot prediction feel “better”, I’m planning on writing up a more detailed look at the steps I’ve gone through (with playable examples of the “before” situations, it’s quite awful).