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)
The purpose of this code base is to add a specified signal-to-noise ratio noise from MUSAN dataset to a pure speech signal and to generate far-field speech data using room impulse response data from BUT [email protected] Reverb Database.

Add_noise_and_rir_to_speech The purpose of this code base is to add a specified signal-to-noise ratio noise from MUSAN dataset to a pure speech signal

Yunqi Chen 7 Oct 30, 2022
Python library for converting Python calculations into rendered latex.

Covert art by Joshua Hoiberg handcalcs: Python calculations in Jupyter, as though you wrote them by hand. handcalcs is a library to render Python calc

Connor Ferster 5.1k Jan 07, 2023
FantasyBballHelper - Espn Fantasy Basketball Helper

ESPN FANTASY BASKETBALL HELPER The simple goal of this project is to allow fanta

1 Jan 18, 2022
Anti VirusTotal written in Python.

How it works Most of the anti-viruses on VirusToal uses sandboxes or vms to scan and detect malicious activity. The code checks to see if the devices

cliphd 3 Dec 26, 2021
Team Curie is a group of people working together to achieve a common aim

Team Curie is a group of people working together to achieve a common aim. We are enthusiasts!.... We are setting the pace!.... We offer encouragement and motivation....And we believe TeamWork makes t

4 Aug 07, 2021
A StarkNet project template based on a Pythonic environment

StarkNet Project Template This is an opinionated StarkNet project template. It is based around the Python's ecosystem and best practices. tox to manag

Francesco Ceccon 5 Apr 21, 2022
⚡KiCad library containing footprints and symbols for inductive analog keyboard switches

Inductive Analog Switches This library contains footprints and symbols for inductive analog keyboard switches for use with the Texas Instruments LDC13

Elias Sjögreen 3 Jun 30, 2022
Santa's kitchen helper for python

Santa's Kitchen Helper Introduction/Overview Contents UX User Stories Design Wireframes Color Scheme Typography Imagery Features Exisiting Features Fe

Paul Browne 4 May 31, 2022
🤖️ Plugin for Sentry which allows sending notification via DingTalk robot.

Sentry DingTalk Sentry 集成钉钉机器人通知 Requirments sentry = 21.5.1 特性 发送异常通知到钉钉 支持钉钉机器人webhook设置关键字 配置环境变量 DINGTALK_WEBHOOK: Optional(string) DINGTALK_CUST

1 Nov 04, 2021
Load, explore and analyse data from Scotland and rest of the world related to Covid19.

Streamlit Examples This is my first attempt with Streamlit. It is an open-source framework, free, Python-based and easy to use tool to build and deplo

Eyad Elyan 12 Mar 01, 2021
A Curated Collection of Awesome Python Scripts

A Curated Collection of Awesome Python Scripts that will make you go wow. This repository will help you in getting those green squares. Hop in and enjoy the journey of open source. 🚀

Prathima Kadari 248 Dec 31, 2022
Create standalone, installable R Shiny apps using Electron

WARNING This is still very much a work in progress and nothing can be assumed stable in any way Temp notes: Two types of created installer, based on w

Chase Clark 5 Dec 24, 2021
A male and female dog names python package

A male and female dog names python package

Fayas Noushad 3 Dec 12, 2021
Data on COVID-19 (coronavirus) cases, deaths, hospitalizations, tests • All countries • Updated daily by Our World in Data

COVID-19 Dataset by Our World in Data Find our data on COVID-19 and its documentation in public/data. Documentation Data: complete COVID-19 dataset Da

Our World in Data 5.5k Jan 03, 2023
A tool for light-duty persistent memoization of API calls

JSON Memoize What is this? json_memoize is a straightforward tool for light-duty persistent memoization, created with API calls in mind. It stores the

1 Dec 11, 2021
Time tracking program that will format output to be easily put into Gitlab

time_tracker Time tracking program that will format output to be easily put into Gitlab. Feel free to branch and use it yourself! Getting Started Clon

Jake Strasler 2 Oct 13, 2022
Problem statements on System Design and Software Architecture as part of Arpit's System Design Masterclass

Problem statements on System Design and Software Architecture as part of Arpit's System Design Masterclass

Relog 1.1k Jan 04, 2023
Fused multiply-add (with a single rounding) for Python.

pyfma Fused multiply-add for Python. Fused multiply-add computes (x*y) + z with a single rounding. Useful for dot products, matrix multiplications, po

Nico Schlömer 18 Nov 08, 2022
Notebook researcher - Notebook researcher with python

notebook_researcher To run the server, you must follow these instructions: At th

4 Sep 02, 2022
to learn how to do pull request and do contribution to other's repo

Hacktoberfest-2021 - open-source-contribution An Open Source repository to Teach people How to contribute to open sources. 💥 🔥 JOIN PVX PROGRAMMING

Shubham Rawat 82 Dec 26, 2022