I think I just found an ancient BGE limitation. (regarding text objects)

I don’t know why, but the limitation is this (in GLSL at least)

-Create a plane.
-Mark the plane as a text object
-Give it a long piece of text to display in the viewport
-Give it logic so the plane slowly moves out the 3D view, the plane exits the view before the rest of the text
-Run the BGE

If you did it right, when the initial face completely exits the 3D view, the rest of the text disappears, it would reappear again if the face moved back into the 3D view.

It would be nice if this limitation can be removed after so many years, then we can have a relatively easy way to have text go off the screen one letter at a time. (by using a text object instead of UVmapping one letter per face with a non-text object). Why again is the limitation there, would it be easy to remove?

That’s because of object culling- whenever an object’s bounds are offscreen, the object is not rendered (to improve framerate) unfortunately, the bounding box is not updated for text objects, so blender assumes it’s only as large as the first letter. Personally I think it would be quite nice if we had the option to disable culling on certain objects (for example, if your object is armature deformed it can also have the same problem)

as is, the best suggestion I can give you is to use python and delete the first character from the string, one at a time, so it appears as though it’s scrolling off screen. To make it more smooth, you can move the object over until it’s nearly off screen, then delete the first character and place it such that the letters still match up right. Sure, it’s a hacky workaround, but that’s what the BGE is all about, right?

(unfortunately yes, yes that is what it’s all about)

[edit] but good news- proper 2d hud support is in the works, so hopefully in 2.5 (or maybe 2.51) you’ll be able to do your scrolling text better anyways.

Well it’s just culling the offscreen object.

Try adding a few stray vertices far to the right and left of the text plane.

Simply extrude a face from the plane to the right so it covers the whole screen, make that face invisible and your problem is fixed.

Edit, yep what jplur said :stuck_out_tongue:

I just put a single stray verticie somewhere and that fixed it without any adverse or unwanted effects on how the text object text is displayed. Though being able to disable culling on text objects would be best.

Exactly what I was going to suggest. :wink: