About this mod
Versatile tool to create icons for games or others. Fine tune while previewing in Blender and batch process with desired settings.
- Permissions and credits
- Mirrors
- Changelogs
- Donations
Versatile tool to generate icons for games or others. Fine tune while previewing in Blender and batch process with desired settings.
Developed for Blender 4.3.2, other versions are not tested.
In short, the addon automatically creates a three-point lighting shot of the selected object with an adjusted framing. You can then manually fine tune the framing and lighting to your liking. When you are satisfied with a set of parameters you can use that preset for other similar assets, either manually or with a python script for batch processing with a single click.
Each paramater works as follows:
- Item: the object you want to generate an icon from. Only objects that can hold material data are shown.
- Rotation: the 3D rotation of the object in the 3D space. Camera, framing and lights get re-arranged automatically to ensure an adjusted shot.
- Scale: the 2D scale of the object in the camera view space. Use to fine tune the size of the object in the shot. Lights get resized accordingly.
- Offset: the 2D positional offset of the object in the camera view space. Use to fine tune the location of the object in the shot. Lights get re-positioned accordingly.
- Resolution: the resoltion of the output file. The camera gets re-positioned accordingly.
- Type: the type of camera used for the shot. Either Orthographic or Perspective.
- FOV: the Field Of View of the perspective camera. The camera gets re-positioned accordingly.
- Key Light: the power of the key light. It determines the shot's overall design.
- Fill Light: the power of the fill light. It balances the key by illuminating shaded surfaces.
- Back Light: the power of the back light. It gives the subject a rim of light, serving to separate the subject from the background and highlighting contours.
- Output File: the path in which the output file gets written. The extension gets adjusted depending on the file format.
- File Format: the format of the output file. Either PNG, Targa or DDS. The extension of the output file gets adjusted depending on it.
- DXGI Format: the compression method used by the DDS output file. Either BC1, BC3, BC5 or BC7.
- Preview Button: enables or disables preview to allow fine tuning parameters with visual feedback. Enabling the preview locks the user inputs except for mouse movements and left clicks. This is meant to limit the damages the user can cause to what the addon is trying to do for them. Left clicks can still cause a lot of damages, so still be careful when preview is enabled.
- Render Button: creates the output file with the defined set of parameters, whether the preview is enabled of not.
Recommendations
- The addon is able to leverage the DDS Addon. The option to generate your icon as DDS won't appear if the addon is not installed.
Limitations
- When preview is enabled, the user's left clicks are authorised everywhere in the UI (unfortunately not just limited to the side panel), thus empowering the user with the necessary means to break the addon.
Installation
You have to copy paste the directory called "icon_generator" from the zip file to C:\Your\Blender\Installation\scripts\addons_core for Blender 4.3+
C:\Users\USER_NAME\AppData\Roaming\Blender Foundation\Blender\YourBlenderVersion\scripts\addons works too.
Demonstration
Because an action speaks louder than words, here is the addon in action:
Note that the icons produced by the script at the end are different because the custom normals were imported with the script while they were not during the rest of the video.
You can find an example script that you can use (and rework) for batch processing in the addon files as batch_process_example.py
Documentation
Some information on Three-point lighting
Copyright (c) 2025 Ard Carraigh
This project is licensed under the terms of the Creative Commons Attribution-NonCommercial 4.0 International Public License.
Updates are firstly uploaded here, and it's also the best place to report bug and/or help me with the code.