Theres bitmap fonts you could use https://docs.godotengine.org/en/stable/tutorials/ui/gui_using_fonts.html
Godot
Welcome to the programming.dev Godot community!
This is a place where you can discuss about anything relating to the Godot game engine. Feel free to ask questions, post tutorials, show off your godot game, etc.
Make sure to follow the Godot CoC while chatting
We have a matrix room that can be used for chatting with other members of the community here
Links
Other Communities
- !inat@programming.dev
- !play_my_game@programming.dev
- !destroy_my_game@programming.dev
- !voxel_dev@programming.dev
- !roguelikedev@programming.dev
- !game_design@programming.dev
- !gamedev@programming.dev
Rules
- Posts need to be in english
- Posts with explicit content must be tagged with nsfw
- We do not condone harassment inside the community as well as trolling or equivalent behaviour
- Do not post illegal materials or post things encouraging actions such as pirating games
We have a four strike system in this community where you get warned the first time you break a rule, then given a week ban, then given a year ban, then a permanent ban. Certain actions may bypass this and go straight to permanent ban if severe enough and done with malicious intent
Wormhole
Credits
- The icon is a modified version of the official godot engine logo (changing the colors to a gradient and black background)
- The banner is from Godot Design
Unfortunately I have nothing useful to add to this, but I do think this is a very interesting topic.
Emulating many of the various ways that Source is clever, within Godot, is I think a very good idea.
EDIT:
Ok maybe I do have something useful to add:
If you're running into oddities between 2D and 3D text based nodes...
You could, for a HUD, just design an actual 2D node/scene as the HUD, that is then plastered over the 3D player's view port, scales with resolution sizing, etc.
You could also, for things like making names appear over interactable items in 3D worlds... don't draw the text in 3D, with 3D text nodes.
Have your 2D HUD scene simply 'see' that 3D object, that 3D object is a class that has a property that defines its 'DisplayText', and then the player has a sphere check around them, or a 'center of player vision' check, maybe a cone... that builds up a buffer of 'things close enough we should be drawing text for' and 'things too far away for that', as the player's view moves around.
The 3D position data, and the display text data is then sent to the 2D HUD scene/node, translated from 3D position into 2D screen position, and then the actual text is rendered purely in 2D.
I just tested 2D text out a bit, spent quite a bit of time trying to fix aliasing (I had oversampling set too high, seems like that should be noted if not just 1.0 being default) which is the sort of problem that Textmesh does not have.
With 2D text I do like that shadow (combined with other colors) really makes it feel theme-like (plus outline can fill in the negative space, making non-color emojis look better with the right color). Stacked is even cooler (3D effect).
So if I keep it to 1 color, I can use the same font for each type of text:

Color emojis still have broken outlines though. With label3D oversampling doesn't seem to work as well* (smaller pixel size+larger font for text clarity-->worse emoji outline alignment) but even for some characters alignment is even off in 2D (balloon, hammer&wrench are fine; eye, fire are not). Could be a font issue though, but the 2 I've tried are broken in slightly different ways.
* MSDF could work for single-color, but it messes up the fire icon I have (and makes straight lines a bit wobbly). Better for more standard fonts/designs, I guess.
So, just sort of a mess... simple text is fine, but even if color could be injected per-glyph (like if every vertex on the fire were set to yellow) that would add depth (I don't know if that'd be a script, add-on, or some context/function in low-level shader code but it's probably beyond me).
Well, I now definitely have nothing useful to add to this, you've explored this whole area much more in depth than I have!
If you do come up with a kind of optimal paradigm you find very useful, I would highly suggest adding/uploading a generalized version of it it to the ... godot 'market', whatever its called, as an addon or template!