![]() |
![]() |
Your new best friend for turning entire font files into properly beveled, processed, and organized 3D meshes directly within Blender.
Stop creating text one... character... at a... time. Let's automate the pain away.
For less cringe, see README_REAL.md.
!! PLEASE NOTE: This addon is fresh outta the oven. It works on my machine™, but who knows what fresh hell awaits on yours.
- INTERNET REQUIRED: On first launch, this addon will try to install
freetype-pyusingpip. It needs an internet connection.- BUT... if it fails, the addon won't completely die! It will enter a "Fallback Mode" where the full glyph preview and batch generation are disabled, but you can still use it to process text that you type manually into the preview object.
- DON'T: Use this for a client project with a deadline of tomorrow without testing it first.
- DO: Backup your project! Use Git! Save often! You get the picture.
Ever needed to generate a whole alphabet of 3D characters for a project? And then you realize you have to do it for every single symbol, number, and variation? And then you have to process each one? Yeah, hard pass.
This addon provides an in-editor UI for a streamlined, two-stage workflow:
- Prepare & Preview: Load any font, and the addon will generate a live, editable preview object.
- Tweak & Generate: Visually tweak your 3D text settings (size, extrusion, bevels, materials) and see the changes in real-time. When you're happy, click one button to batch-process every single character from the font into its own mesh, neatly organized into new collections.
I may have gone a little overboard, but I wanted '3d Spyro font' and then some.
- Two-Stage Workflow: A non-destructive "Prepare Font" and "Generate Meshes" process that gives you full control.
- Live Preview: Tweak settings in the UI and see them applied to a live text object in your viewport instantly. No more guessing games.
- Full Font Processing: Iterates through every available glyph in a
.ttfor.otffile, not just A-Z. - Smart Collection Management: Automatically creates a main collection (e.g.,
[BF2M] Arial) withUnprocessedandProcessedsub-collections to keep your scene tidy.- Handles naming conflicts by appending
_1,_2, etc. if a collection already exists.
- Handles naming conflicts by appending
- Detailed Geometry Control:
- Character Size, Extrusion, Bevel Depth, and Bevel Resolution.
- Transform Control:
- Set a universal location and rotation for all generated meshes.
- Dependency Manager: Automatically bootstraps
pipand installs the requiredfreetype-pylibrary. Includes a fallback mode if installation fails.
- Get the Goods: Head to the Releases page on this GitHub repo and download the latest BatchFont2Mesh.zip file.
- DON'T UNZIP IT: For real. Blender handles that part.
- Open the System Console (👀 IMPORTANT!):
- Before you install, go to
Window -> Toggle System Consolein Blender's top menu. - Keep this console window open! It's where our addon will print its installation progress and any errors. This is your lifeline if something goes wrong.
- Before you install, go to
- Install in Blender:
- With the console open, go to
Edit -> Preferences. - Navigate to the
Add-onstab. - Click
Install...at the top right. - Find and select the
BatchFont2Mesh.zipfile you downloaded.
- With the console open, go to
- Enable the Addon & Watch the Console:
- After installing, you should see "Object: BatchFont2Mesh (BF2M)" in the list.
- Check the little box next to its name to enable it.
- Watch the System Console! You should see messages about
pipandfreetype-pybeing installed. This is the magic happening. This step requires an internet connection and might take a moment.
- If It Doesn't Work: RESTART BLENDER!
- Sometimes, even after a successful install, Blender needs a swift kick to recognize the new packages. If the addon panel shows an error or seems broken, completely close and restart Blender. This usually fixes it.
- Witness the Magic: A new "Batch Font To Mesh" panel should now appear in the 3D Viewport's sidebar (press
Nto open it) under the "Tool" tab, fully functional.
The whole workflow is designed to be top-to-bottom.
- Font Input: In the BF2M panel, select a
.ttfor.otffont from your computer. - Prepare: Smash that
Prepare Fontbutton. - What Happens: The addon will load the font, count its characters, create a new collection structure, and spawn a live "Preview" text object.
With the "Preview" object visible, change the settings in the UI to see the results in real-time.
- Adjust Geometry: Play with the
Character Size,Extrude, andBevelsliders. - Set Transforms: Dial in the final
TranslationandRotationfor the generated meshes.
Once the preview looks exactly how you want it...
- Generate: Hit the big
Generate Meshesbutton at the bottom. - What Happens: A progress bar will appear as the addon loops through every character, creating a fully processed mesh for each one and placing it in the "Processed" collection.
Let's be real, this is a work in progress. Here's a list of features that are in the UI but ain't quite there yet.
- Post-Processing Toggles: All of the toggles in the "Post-Processing Options" section (
Mark Sharp,Vertex Groups,Multi-Material,Vertex Colors) are currently UI placeholders and do not work yet. They are the top priority for the next development phase. (See Issue #1) - Live Transform Preview: The
TranslationandRotationsliders don't update the live preview object in real-time. The values are saved and will be applied correctly when you clickGenerate Meshes, but you won't see the preview object move. (See Issue #5) - Material Slots: Because
Multi-Materialpost-processing is not yet implemented, theBevel Materialslot is also not currently functional. - Merge Distance UI: The input field for
Merge Distanceis too small and truncates the default value. It still works correctly (0.0001is the default), it just looks weird.
This is just the beginning. The Vibe is strong, but the Feature Creep is stronger.
- Implement Post-Processing: Actually make the toggles work!
- Granular Character Selection: An interface to pick and choose characters.
- Settings Presets: The ability to save and load your entire configuration.
- Advanced UV Unwrapping: Options to automatically run a Smart UV Project.
- Custom Naming Patterns: User-definable patterns like
{font}_{char}_{ascii}. - Adaptive Bevel Scaling (The Holy Grail): A smart algorithm to prevent small details from getting obliterated by big bevels.
- More Post-Processing Mayhem: Think Decimate, Remesh, or other modifiers.
- Verbose Logging: An option to output a detailed log file for debugging.
Find a bug? Did the addon tell a bad joke? Got an idea?
- Please open an issue on the GitHub repository. The more detail, the better.
- Pull requests are welcome, but maybe open an issue first to chat about it.
- Rakadeja: The visionary and prime directive officer.
- Gemini 2.5 Pro: The humble-but-rad code-monkey assistant.
This project is licensed under the MIT License - see the LICENSE file for details.
For more help, or just to hang out and see visual updates, join the Blue Marten Dreams Discord Server!

