3D Fonts (Word models creation)

Hello There.

I have been learning Panda3D since a while and have found there is no a simple way to make 3D fonts. The “Alternative Render Modes” provided for Text Fonts have some glitches when using extended ASCII characters (á, ñ, ü, etc) and when not using “arial.tff” font file.

So, I make a script in python for Blender modeling which converts resulting model into a BAM file. It uses DAE export - dae2egg - egg2bam route, because I cannot get YABEE plugin (even the updated version) to make it work.

I hope it helps people like me enjoying Panda3D. Any comments, tips and advice are very welcomed.

You can get the code in my repo: https://github.com/octaviotron/panda3D/tree/main/3dWords

P.S.: excuse my English if you find any mistake (is not my native language, python does :wink:)

1 Like

That does seem neat for those who find YABEE to not work for them! :slight_smile:

One thing that I’ll note is that one alternative approach is to not use “bam” and “egg” files, but rather “glTF” files. These can be exported by Blender, and can be loaded by Panda, I believe. Further, if you don’t mind the whole scene being exported, the “blend2bam” tool can output “glTF” files, and I think do so while including some elements that Blender’s export doesn’t.

I think that loading “glTF” files in Panda may require the installation of the “panda3d-gltf” package, however–although I stand to be corrected on that.

As far as I have been testing, when glTF files are exported (and converted) materials does not work well when using PNG/JPEG textures and resulting model seems dark, as no light was in scene.

Have you exported a image textured model in glTF from BLENDER and lights worked on it?

YABEE (the updated one https://github.com/kergalym/PRPEE ) worked well with Blender 2.8+ including 3.0, but also only with base color as texture and my real problem with it is I was not able to call the export plugin function from python. It will be a great better up of my script if anyone can make egg_writer.write_out method of this library to work.

Thanks for your comment.

As far as I recall, yes.

However, I will confess that this was in the context of PBR rendering; I don’t think that I’ve tried it with non-PBR lighting. Still, from what I gather, it should be possible to get it to work.

It may also be worth noting that “blend2bam” may provide better results: from what I recall, it applies some export-settings that tune the output for use in Panda, as well as provides support for Panda-features that Blender’s baseline exporter doesn’t cover.

Oh, wow, no–you were using PRPEE?! Ah, that might be part of your problem!

I really, really don’t recommend PRPEE: it is, I gather, not a general solution. If I’m not much mistaken, it’s designed with to meet the requirements of its developer, and may lack features.

If you want to use YABEE, I recommend that you instead try Maxwell175’s port of YABEE, which I think that you should find here:

For more information, perhaps take a look at my “Exporting from Blender” “quick-reference” thread:

If I may ask, where did you hear about PRPEE? It’s been a recurring issue, I fear, that people find PRPEE, think that it’s a working general update to YABEE, and then encounter problems in using it…

I found PRPEE just searching in Github for a EGG exporter plugin for blender > 2.7 without notice your recommendation.

Thanks! I will check it out, maybe with this one the python exporter call works, as image textures too.

Aah, I see. Alas, I doubt that there’s much for me to do about that.

Indeed, I hope that it works for you! :slight_smile: