I have looked into and tried using ActionManagers, but they won’t work in this case because the only way to pick a hovered mesh from the scene is by using the pointer coordinates. When the pointer is locked, the user is expecting the center of the screen to be the focal point, not where the pointer was last when they locked to the screen. There is no way to center the pointer, and no way (that I’m aware of) to change the ActionManager’s coordinates to pick from, so I’m stuck with running scene.pick() every render.
I’ve tried picking with a ray that’s limited to the length of the user’s reach, but this doesn’t really help with the lag issue.
Any ideas on the most efficient way to constantly be picking from the scene?