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)
1. 네이버 카페 댓글을 빨리 다는 기능

naver_autoprogram 기능 설명 네이버 카페 댓글을 빨리 다는 기능 네이버 카페 자동 출석 체크 기능 동작 방식 카페 댓글 기능 기본 동작은 주기적인 스케쥴 동작으로 해당 카페 ID 와 특정 API 주소로 대상이 새글을 작성했는지 체크. 해당 대상이 새글 등

1 Dec 22, 2021
Web-based Sudoku solver built using Python. A demonstration of how backtracking works.

Sudoku Solver A web-based Sudoku solver built using Python and Python only The motivation is to demonstrate how Backtracking algorithm works. Some of

Jerry Ng 2 Dec 31, 2022
Notes on the Deep Learning book from Ian Goodfellow, Yoshua Bengio and Aaron Courville (2016)

The Deep Learning Book - Goodfellow, I., Bengio, Y., and Courville, A. (2016) This content is part of a series following the chapter 2 on linear algeb

hadrienj 1.7k Jan 07, 2023
This scrypt for auto brightness control

God damn. This scrypt for auto brightness control. The scrypt has voice assistant. You should move this script to auto-upload folder. What do you need

0 Jul 25, 2022
For Tok-k passages that have passed through the Bi-Encoder Retrival, ReRank is performed using CrossEncoder.

Cross-Encoder-with-Bi-Encoder For Tok-k passages that have passed through the Bi-Encoder Retrival, ReRank is performed using CrossEncoder. Data Data u

7 Feb 09, 2022
Christmas tree on the desktop.

new-year-tree Christmas tree on the desktop. [Ссылка на статью habr]

Daniil Gorbenko 10 Dec 29, 2022
program to store and update pokemons using SQL and Flask

Pokemon SQL and Flask Pokemons api in python. Technologies flask pymysql Description PokeCorp is a company that tracks pokemon and their trainers arou

Sara Hindy Salfer 1 Oct 20, 2021
Clear merged pull requests ref (branch) on GitHub

GitHub PR Cleansing This tool is used to clear merged pull requests ref (branch) on GitHub. GitHub has no feature to auto delete branches on pull requ

Andi N. Dirgantara 12 Apr 19, 2022
The official Repository wherein newbies into Open Source can Contribute during the Hacktoberfest 2021

Hacktoberfest 2021 Get Started With your first Contrinution/Pull Request : Fork/Copy the repo by clicking the right most button on top of the page. Go

HacOkars 25 Aug 20, 2022
samples of neat code

NEAT-samples Some samples of code and config files for use with the NEAT-Python package These samples are largely copy and pasted, so if you

Harrison 50 Sep 28, 2022
Telegram bot for Urban Dictionary.

Urban Dictionary Bot @TheUrbanDictBot A star ⭐ from you means a lot to us! Telegram bot for Urban Dictionary. Usage Deploy to Heroku Tap on above butt

Stark Bots 17 Nov 24, 2022
Serverless demo showing users how they can capture (and obfuscate) their Lambda payloads in Datadog APM

Serverless-capture-lambda-payload-demo Serverless demo showing users how they can capture (and obfuscate) their Lambda payloads in Datadog APM This wi

Datadog, Inc. 1 Nov 02, 2021
An awesome list of AI for art and design - resources, and popular datasets and how we may apply computer vision tasks to art and design.

Awesome AI for Art & Design An awesome list of AI for art and design - resources, and popular datasets and how we may apply computer vision tasks to a

Margaret Maynard-Reid 20 Dec 21, 2022
TikTok Auto Claimer Made By Aim low!#9999 Leaked By bazooka#0001

Zues Auto Claimer Leaked By bazooka#0001 put proxies in prox.txt put ssid in sid.txt put all users you want to target in user.txt for the login just t

1 Jan 14, 2022
Craxk is a SINGLE AND NON-REPLICABLE Hash that uses data from the hardware where it is executed to form a hash that can only be reproduced by a single machine.

What is Craxk ? Craxk is a UNIQUE AND NON-REPLICABLE Hash that uses data from the hardware where it is executed to form a hash that can only be reprod

5 Jun 19, 2021
Change ACLs for QNAP LXD unprivileged container.

qnaplxdunpriv If Advanced Folder Permissions is enabled in QNAP NAS, unprivileged LXD containers won't start. qnaplxdunpriv changes ACLs of some Conta

1 Jan 10, 2022
📜Generate poetry with gcc diagnostics

gado (gcc awesome diagnostics orchestrator) is a wrapper of gcc that outputs its errors and warnings in a more poetic format.

Dikson Santos 19 Jun 25, 2022
PatZilla is a modular patent information research platform and data integration toolkit with a modern user interface and access to multiple data sources.

PatZilla is a modular patent information research platform and data integration toolkit with a modern user interface and access to multiple data sources.

IP Tools 68 Dec 14, 2022
Traits for Python3

Do you like Python, but think that multiple inheritance is a bit too flexible? Are you looking for a more constrained way to define interfaces and re-use code?

121 Nov 15, 2022
Notebook researcher - Notebook researcher with python

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

4 Sep 02, 2022