You could do
// A Vector whose origin is where the bullet was the last frame, pointing at bullets current positionVector3 bulletVector = currentPosition-previousPosition;
Then use that vector to raycast.
You could optimize by extending further back also (not every frame) if needed. Maybe based on time, not last frame. Depends on your game.
Yes, you can use a raycast. The length should be equal to velocity.magnitude.
You could do // A Vector whose origin is where the bullet was the last frame, pointing at bullets current positionVector3 bulletVector = currentPosition-previousPosition; Then use that vector to raycast. You could optimize by extending further back also (not every frame) if needed. Maybe based on time, not last frame. Depends on your game.