Godot-3D-text-plugin
Godot-3D-text-plugin copied to clipboard
Performance
I've been missing a proper label3D in Godot since forever, hence this plugin is a godsend. My question is how performant is it? Should I use it sparingly? Contrary to my current implementation of sprite sheet animated sprite 3D where i slap lots of nodes of those changing frame numbers according to which character i need. Thanks!
Well in simple use cases, what the script does is render the text to a viewport, then apply it to a texture. When you extrude it, it uses raytracing to fill in the extrusion. I haven't tested it's performance when there is a lot, but it could get slow if you start looking a lot of the extrusion, but that's only a guess. If performance does start being an issue, you have two options. 1- Convert the text to a MeshInstance. There's a button for that. 2- Use blender to make your text geometry since it has more features than my solution.
Note, if you're thinking of changing the text in the 3D labels dynamically, what the script does is that it resizes the viewport texture accordingly, so bare that in mind.
well to me the greatest advantage of 3d text is the fact it becomes a part of the 3D world, hence allowing for diegetic UI. For instance UI around the main character showing their HP, name, DEF and other stats. Or another example would be 3D cards, that would exist in 3d space to enhance immersion.
(I've so far used a combination AnimatedSprite3Ds, Control nodes and viewports but each came with a limitation that Lbael3D would solve)
I'm curious now, do you think it would be worth opening a proposal for an official Label3D? As in would the core team be able to implement it in a manner which doesn't rely on viewports?
Well, perhaps the fonts could have their curves loaded in directly rather than by relying on drawing their bitmaps. It would also be more performant. However seeing as how this wouldn't really be used too often, and how it can be implemented with Godot already has, there is a thin chance that this would be part of core.