I am successfully using Matrix.CreateBillboard in my XNA game to print the characters name above the models. The problem I have is with the offset (to appear above the models). Currently, I am creating the location of the text using;
Vector3 objTextPosition = objPlayerShip.objShipVector + new Vector3(0, 3, 0);
This works fine if I stay within the same general lateral location. If I rotate above or below the model the text either appears on top of, or is covered by (or even below) the model. To compensate for this, I would need to create a rotation around the model (should I use a quaternion?) with the top always pointing up (with a Vector3(0, 3, 0) offset).
Am I over thinking this? Is there a simple way to achieve this?
Thanks in advance!
Here is the correct way (above the model)
Here is looking from top, down