String on a model

Posted by alecnash on Game Development See other posts from Game Development or by alecnash
Published on 2012-10-16T08:57:06Z Indexed on 2012/10/16 11:25 UTC
Read the original article Hit count: 205

Filed under:
|
|
|

I am trying to put a sting on a Model and I want it to be dynamic. Did some research and came up with drawing the text on the texture and then set it on the model. I use something like this:

 public static Texture2D SpriteFontTextToTexture(SpriteFont font, string text, Color backgroundColor, Color textColor)
        {
            Size = font.MeasureString(text);
            RenderTarget2D renderTarget = new RenderTarget2D(GraphicsDevice, (int)Size.X, (int)Size.Y);
            GraphicsDevice.SetRenderTarget(renderTarget);

            GraphicsDevice.Clear(Color.Transparent);

            Spritbatch.Begin();
            //have to redo the ColorTexture
            Spritbatch.Draw(ColorTexture.Create(GraphicsDevice, 1024, 1024, backgroundColor), Vector2.Zero, Color.White);
            Spritbatch.DrawString(font, text, Vector2.Zero, textColor);
            Spritbatch.End();

            GraphicsDevice.SetRenderTarget(null);

            return renderTarget;
        }

When I was working with primitives and not models everything worked fine because I set the texture exactly where I wanted but with the model (RoundedRect 3d button) it looks like that:

enter image description here

Is there a way to have the text centered only on one side?

© Game Development or respective owner

Related posts about XNA

Related posts about textures