Optimising Text and Legibility in 3D Virtual Environments