How can I render text in the form of an isometric projection? I understand the principle but I’m not sure how to actually transform a SpriteFont programmatically to do this.
Example of what I mean:

I’m not even sure what I should be searching for. It seems I could accomplish this by using an isometric projection matrix and a 3D mesh font, but that seems overcomplicated considering I’m working in 2D.
Any ideas?
SpriteBatch.Begintakes aMatrixparameter, transforming the sprites you draw (includingSpriteFont) onto whichever plane you desire.Unfortunately
Matrixdoes not provideCreate*methods for creating skew matrices. But it is simple enough to create such a matrix by hand. The following piece of code is tested and is pretty close to what you want:The only difference to your diagram is that Y and Y’ point in the opposite direction, because XNA’s
SpriteBatchworks in “client” coordinates ((0,0) at top left, and Y+ is down).