Batch generate asset browser previews

Overview

When dealing with hundreds of library files it becomes tedious to mark their contents as assets.

Using python to automate the process is a perfect fit for such task.

However marking objects as assets using python doesn't automatically generate their previews like using the interface does.

This aims to mark all objects as assets and generate the preview of all files in the folder the user selects.

It might bug out if the file contains hundreds of objects. It is recommended to keep a low number of objects per file.

Go to File > Import > Batch Generate Previews

image

In the file selector, navigate to the folder where the blend files are located. Validate.

Count ~ 2 seconds per file to generate their assets and previews. It's a good idea to enable the console with Window > Toggle System Console beforehand so you can see how many files you have marked yet.

Example Result :

image

Comments
  • Batch marking assets throwing error (version: 0.0.12)

    Batch marking assets throwing error (version: 0.0.12)

    Sorry for reporting so many issues today. But when i try to Batch mark assets in the current file or an external library i get this error message: Untitled

    Thanks in advance!

    bug 
    opened by edin45 6
  • 3.2 Beta - ModuleNotFoundError

    3.2 Beta - ModuleNotFoundError

    Screen Shot 2022-06-03 at 10 47 38 PM

    I'm not able to enable this module on Blender 3.2.0 Beta. It seems to correctly install but states no module found. I don't believe this is related to the pinned issue #35, but I've been wrong before.

    bug 
    opened by ndrwstn 5
  • Smart Tags

    Smart Tags

    Add an option to setup smart tags. EG : add a tag to objects from one of their properties like scale, location, rotation, or custom properties, object color, etc.

    • [x] Dimensions
    • [x] Tricount (rounded up or down) & Vertcount
    • [x] ID Custom property (user input)
    • [x] Scale
    enhancement 
    opened by Gorgious56 5
  • Batch (re)move from catalogs has no an empty imput list for the catalog values

    Batch (re)move from catalogs has no an empty imput list for the catalog values

    afbeelding

    All catalog moving/ removing operations suffer from the same issue that they have no input values to choose from. These values can also not be typed in. This happens when trying to change catalogs for files on disk in Blender 3.1.

    afbeelding

    bug 
    opened by Intuos5 5
  • Error installing Blender 3.2

    Error installing Blender 3.2

    Blender 3.2 stable

    We Use the portable/mobile version of Blender stored an another Network Drive, not locally on every machine

    I get this Error Message, when trying to install the addon.

    Exception in module register(): C:\Users\andreas\AppData\Roaming\Blender Foundation\Blender\3.2\scripts\addons\asset_browser_utilities-master_init_.py Traceback (most recent call last): File "N:\Blender\Release\WORK_BUILD\3.2\scripts\modules\addon_utils.py", line 371, in enable mod.register() File "C:\Users\andreas\AppData\Roaming\Blender Foundation\Blender\3.2\scripts\addons\asset_browser_utilities-master_init_.py", line 22, in register auto_load.init() File "C:\Users\andreas\AppData\Roaming\Blender Foundation\Blender\3.2\scripts\addons\asset_browser_utilities-master\auto_load.py", line 29, in init modules = get_all_submodules(Path(file).parent) File "C:\Users\andreas\AppData\Roaming\Blender Foundation\Blender\3.2\scripts\addons\asset_browser_utilities-master\auto_load.py", line 60, in get_all_submodules return list(iter_submodules(directory, directory.name)) File "C:\Users\andreas\AppData\Roaming\Blender Foundation\Blender\3.2\scripts\addons\asset_browser_utilities-master\auto_load.py", line 65, in iter_submodules yield importlib.import_module("." + name, package_name) File "N:\Blender\Release\WORK_BUILD\3.2\python\lib\importlib_init_.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1050, in _gcd_import File "", line 1027, in _find_and_load File "", line 1006, in _find_and_load_unlocked File "", line 688, in _load_unlocked File "", line 883, in exec_module File "", line 241, in _call_with_frames_removed File "C:\Users\andreas\AppData\Roaming\Blender Foundation\Blender\3.2\scripts\addons\asset_browser_utilities-master\core\cache\prop.py", line 1, in from asset_browser_utilities.module.author.set import AuthorSetOperatorProperties ModuleNotFoundError: No module named 'asset_browser_utilities'

    opened by SevenMSchultze 4
  • Perhaps add studio setup for previews [IDEA]

    Perhaps add studio setup for previews [IDEA]

    Found your asset utils through the cutaway shader of the BlenderBIM. I also bumped into this studio light setup file. Perhaps would be nice if such a thing, or this one could be added in the process. Would allow for nicer thumbnails.

    Its not using any HDR, but could use very simple small one. Guess it would need extra code so the object or studio will be scaled to the studio size or visa versa

    https://ibotpl.gumroad.com/l/studiolighting

    image

    enhancement 
    opened by schroef 4
  • Extend custom operations

    Extend custom operations

    Following #44 :

    • [x] Add an option to chain custom operations
    • [x] Add additional custom operations:
      • [x] Rename (options : prefix, replace, suffix)
        • [x] Rename asset
        • [x] Rename data
        • [x] Rename material
      • [x] Transform
      • [x] Translate
      • [x] Rotate
      • [x] Scale
      • [x] Decimate (w/ target polygons)
    enhancement 
    opened by Gorgious56 3
  • Support all asset types for 3.1

    Support all asset types for 3.1

    • [x] Node groups
    • [x] Collections
    • [x] Brushes
    • [x] Cache Files (?)
    • [x] Hairs (?)
    • [x] Images
    • [x] Freestyle Stylelines
    • [x] Masks (?)
    • [x] Meshes
    • [x] Movie Clips
    • [x] Paint Curves (?)
    • [x] Palettes
    • [x] Particle Settings
    • [x] Scenes
    • [ ] Simulations (?)
    • [x] Sounds
    • [x] Texts
    • [x] Textures
    • [x] Workspaces
    enhancement 
    opened by Gorgious56 3
  • Filtering assets by tags and tagging multiple assets manually.

    Filtering assets by tags and tagging multiple assets manually.

    I'm currently working on some modular level kits for creating game levels and have need for multiple collections with overlapping assets for ease of access during level design. Given that catalogues have A nested structure that makes this specific use case difficult. I turned to tags to immediately discover that they are barely implemented in default blender, which is how I found this project.

    After using this addon to set tags for a short while I've come up with two improvements that I believe would make them much faster when searching for assets by tags and when tagging assets manually.

    The first is keeping A list of every tag on any asset within the catalogue you have selected and making A panel beneath the catalogues menu that can be used to filter your currently selected catalogue to only the tags you have selected. Perhaps switching by default but allowing multiple to be selected while holding a key like control.

    The second is an option in the 'assets context menu', when clicking this option another popup list appears with the same list of every tag in the selected catalogue allowing you to easily tag A manually selected group of assets with an existing tag.

    marked_screenshot

    Thanks for reading my feature suggestion!

    opened by OctagonalHexy 2
  • releases contain unnecessary __pycache__ folders

    releases contain unnecessary __pycache__ folders

    Hi! I noticed that there's a considerable file size difference between downloading the main branch and a zipped release. It turns out that your releases unnecessarily contain compiled python files in the __pycache__ folders and some orphaned folders.

    To me it seems as if the release was packed locally from a working space and then uploaded. You could consider using a github action to build the release directly from a clean version. This could look somewhat like the untested setup below.

    name: Release Asset Browser Utilities
    
    on:
      push:
        tags:
          - '*'
    
    jobs:
      tagged-release:
        runs-on: ubuntu-latest
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        steps:
          - uses: actions/[email protected]
          - name: Zip Release
            uses: TheDoctor0/[email protected]
            with:
              path: './'
              filename: 'asset_browser_utilities.zip'
          - name: Get Version Info
            run: |
              echo GH ref: ${{ github.ref }}
              ver=$(echo ${{ github.ref }} | grep -oP "[0-9]+.[0-9]+.[0-9]+-?.*")
              echo Version: $ver
              echo "::set-output name=version::${ver}"
            id: version
          - name: Release
            if: ${{ !endsWith(steps.version.outputs.version, '-pre') }}
            uses: softprops/[email protected]
            id: create_release
            with:
              name: Asset Browser Utilities ${{ steps.version.outputs.version }}
              files: asset_browser_utilities.zip
              fail_on_unmatched_files: true
              draft: true
              prerelease: false
          - name: Pre-Release
            if: ${{ endsWith(steps.version.outputs.version, '-pre') }}$
            uses: softprops/[email protected]
            id: create_prerelease
            with:
              name: Asset Browser Utilities ${{ steps.version.outputs.version }}
              files: asset_browser_utilities.zip
              fail_on_unmatched_files: true
              draft: true
              prerelease: true
    
    enhancement 
    opened by OlafHaag 2
  • Hi! Won't you help a little? Thank you

    Hi! Won't you help a little? Thank you

    I saw that you have experience in checking all subfolders and importing obj from it.

    I need a code that searches and imports fbx from all the subfolders in the selected folder. Can you share if you know?

    opened by MuhammadXr 2
  • Won't install with B3.4.1 portable (for me)

    Won't install with B3.4.1 portable (for me)

    I have Blender 3.4.1 portable installed (and also use a custom directory for my addons -- however, I also installed to the regular addon directory and get the same issue). The addon shows up after install (using both zip install option as well as simply extracting zip to addon directory), but after restarting blender, I get this error when I try to activate it:

    Traceback (most recent call last): File "X:! BLENDER\blender-3.4.1\3.4\scripts\modules\addon_utils.py", line 333, in enable mod = import(module_name) File "X:! BLENDER! ADDONS\addons\asset_browser_utilities-master_init_.py", line 19, in from asset_browser_utilities.core.cache.prop import Cache ModuleNotFoundError: No module named 'asset_browser_utilities'

    opened by zerodean 2
  • Custom operations - Use asset name as prefix or suffix

    Custom operations - Use asset name as prefix or suffix

    Hi @Gorgious56, could expand the Custom Operation(s)' renaming options? I would like to add the Asset Name as prefix to the Object Data name and Object Material name.

    Currently, it is only possible to use the same name as the asset or enter a custom string. But this won't allow me to rename the material data in such a way that I can add the asset name as prefix. afbeelding

    opened by Intuos5 0
  • Exporting assets fail

    Exporting assets fail

    Re https://blender.stackexchange.com/questions/275005/addonasset-browser-utilities-export-failed

    I search here for an asset browser addon,and I find this. image

    When I want to export assets from current file to another file,it failed. What I do: enter image description here image

    After click this,it turn to here,which is my default asset folder,nothing in the list.But I do have some files there. enter image description here I click Export Assets,a new test.blend file created,but there are only a default cube in it.And the icon of test.blend is different from other blend file. enter image description here

    I remember that blend change the thumbnail from logo to real object in 3.3.0,so maybe the test.blend is an old version,which may cause trouble. I don't know whether it is my mistake or it's a bug.Could anyone help to check this?Especially waiting for the author... :)

    image

    bug 
    opened by Gorgious56 0
  • Add option to apply material asset in edit mode

    Add option to apply material asset in edit mode

    For some reason, Blender currently lacks the ability to assign an asset to selected faces.
    Based in large part on your stackexchange answers, I've made such an operator for my own use https://github.com/c-d-a/io_import_wad2/commit/fdb46588a7acd4eecccc0e255fda7f596d8e91bf While your addon is more focused on batch operations, seems like it would fit.

    enhancement 
    opened by c-d-a 2
Releases(0.2.4)
A simple way to read and write LAPS passwords from linux.

A simple way to read and write LAPS passwords from linux. This script is a python setter/getter for property ms-Mcs-AdmPwd used by LAPS inspired by @s

Podalirius 36 Dec 09, 2022
A python script that fetches the grades of a student from a WAEC result in pdf format.

About waec-result-analyzer A python script that fetches the grades of a student from a WAEC result in pdf format. Built for federal government college

Oshodi Kolapo 2 Dec 04, 2021
XAC HID Gamepad implementation for CircuitPython 7 or above.

CircuitPython_XAC_Gamepad Setup process Install CircuitPython 7 or above in your board. Add the init.py file under \lib\adafruit_hid directory of CIRC

5 Dec 19, 2022
The update manager for the ERA App (era.sh)

ERA Update Manager This is the official update manager used in the ERA app (see era.sh) How it works Once a new version of ERA is available, the app l

Kian Shahriyari 1 Dec 29, 2021
RISE allows you to instantly turn your Jupyter Notebooks into a slideshow

RISE RISE allows you to instantly turn your Jupyter Notebooks into a slideshow. No out-of-band conversion is needed, switch from jupyter notebook to a

Damian Avila 3.4k Jan 04, 2023
Mommas-cookbook - A Repository About Mom's Recipes

Mommas Cookbook A Repository for Mom's Recipes Contents bacalhau à Gomes de Sá Beef-Rendang bacalhau à Gomes de Sá, recommended by @s0undt3ch One of t

1 Jan 08, 2022
Simple calculator made in python

calculator Uma alculadora simples feita em python CMD, PowerShell, Bash ✔️ Início 💻 apt-get update apt-get upgrade -y apt-get install python git git

Spyware 8 Dec 28, 2021
京东热爱狂欢趴&京东扫码获取cookie

京东热爱狂欢趴 一键完成任务脚本来袭 活动地址: https://wbbny.m.jd.com/babelDiy/Zeus/2s7hhSTbhMgxpGoa9JDnbDzJTaBB/index.html#/home 2021-06-02更新: 1、删除京东星推官 2、更新脚本,修复火爆问题 2021

xoyi 48 Dec 28, 2022
python scripts to perform coin die clustering (performed on Riedones3D).

python scripts to perform coin die clustering (performed on Riedones3D).

Sofiane 2 Apr 29, 2022
Unofficial package for fetching users information based on National ID Number (Tanzania)

Nida Unofficial package for fetching users information based on National ID Number made by kalebu Installation You can install it directly or using pi

Jordan Kalebu 57 Dec 28, 2022
Wunderland desktop wallpaper and Microsoft Teams background.

Wunderland Professional Impress your colleagues, friends and family with this edition of the "Wunderland" wallpaper. With the nostalgic feel of the or

3 Dec 14, 2022
Скрипт позволяет выгрузить участников чатов/каналов(по чату для комментариев) и сообщения в различные форматы файлов.

TG-Parser Парсер участников и сообщений из ТГ-Чатов и чатов для комментариев в ТГ-Каналах Возможности Выгрузка участников групп/каналов(по чату для ко

50 Jan 06, 2023
Check broken access control exists in the Java web application

javaEeAccessControlCheck Check broken access control exists in the Java web application. 检查 Java Web 应用程序中是否存在访问控制绕过问题。 使用 python3 javaEeAccessControl

kw0ng 3 May 04, 2022
Arabic to Roman Converter in Python

Arabic-to-Roman-Converter Made together with https://github.com/goltaraya . Arabic to Roman Converter in Python. -Instructions: 1 - Make sure you have

Pedro Lucas Tomazeti Fernandes 6 Oct 28, 2021
A Python package to request and process seismic waveform data from Hi-net.

HinetPy is a Python package to simplify tedious data request, download and format conversion tasks related to NIED Hi-net. NIED Hi-net | Source Code |

Dongdong Tian 65 Dec 09, 2022
SymbLang are my programming language! Insired by the brainf**k.

SymbLang . - output as Unicode. , - input. ; - clear data. & - character that the main line start with. @value: 0 - 9 - character that the function

1 Apr 04, 2022
Free version of Okuru selfbot, okuru.xyz

Indigo Selfbot Free OpenSource selfbot, Premium version can be found at https://okuru.xyz (5$.) Usage python[3] main.py Installation To install you ca

Dimitri Demarkus 31 Aug 07, 2022
A Python3 script to decode an encoded VBScript file, often seen with a .vbe file extension

vbe-decoder.py Decode one or multiple encoded VBScript files, often seen with a .vbe file extension. Usage usage: vbe-decoder.py [-h] [-o output] file

John Hammond 147 Nov 15, 2022
Fastest python library for making asynchronous group requests.

FGrequests: Fastest Asynchronous Group Requests Installation Install using pip: pip install fgrequests Documentation Pretty easy to use. import fgrequ

Farid Chowdhury 14 Nov 22, 2022
Statically typed BNF with semantic actions; A frontend of frontend frameworks; Use your grammar everywhere.

Statically typed BNF with semantic actions; A frontend of frontend frameworks; Use your grammar everywhere.

Taine Zhao 56 Dec 14, 2022