2024-07-22 Out of the Box: Online Assets

Out of the Box: Online Assets Libraries - day 1

Attendees:

  • Dalai Felinto
  • Francesco Siddi
  • Pablo Vazquez

Meeting to discuss the design aspects of supporting remote asset libraries and the overall “out of the box” content creation experience. This is a potential project for Q4-2024.

Introduction

This project is about providing ways for users to have access to a variety of resources (assets) upon launching Blender.

Because there is no intent on bloating Blender with gigabytes of asset files, supporting online repositories is the key part of the project. However this by itself wouldn’t achieve the goal of this project, and collecting or authoring assets have to be considered as well.

Design

  • Audience:
    • Anyone using Blender (studios, individuals, professionals, beginners).
  • Goals:
    • Quick scene draft and layout.
    • Provide start point to customization.
    • Ready to play assets.
  • Technical considerations:
    • Asset indexing
      • The asset browser has an indexing system for performance.
      • The online repositories will list the assets.
      • What is the relation between them? Should they be unified?
  • Relation with extensions:
    • Online assets can be seen as just another way to extend Blender. Conceptually they are very close to the other extensions.
    • The initial idea is to go as far as possible with this integration, and rely on the existing Repositories to configure the access to the asset libraries.
  • Relation with asset browser:
    • Asset browser should be extended to support navigating online repositories.

Extended technical scope:

  • Python hooks.
  • Asset variations.
  • Asset embedding.

Extensions Repository

Remote asset libraries will be a sub-set of the extensions repositories.

At the moment the extension listing format includes:

  • version
  • blocklist
  • data

This will be expanded with asset library entries, for example:

{
    "version": "v1",
    "blocklist": [],
    "data": [],
    "asset_libraries": [
       {
         "id": "open-movies",
         "listing": "https://extensions.blender.org/asset-libraries/open-movies/index.json",
         "name": "Open Movies Characters",
         "author": "Blender Studio",
         "version": "1.0.0",
         "size": "85665000",
         "tags": ["Animation", "Production"],
         "license": ["SPDX:CC0-1.0"],
         "schema_version": "1.0.0"
       },
       {
         "id": "essentials-collection",
         "listing": "https://extensions.blender.org/asset-libraries/essentials-collection/index.json",
         "name": "Essentials Collection",
         "author": "Blender Foundation",
         "version": "2.1.0",
         "size": "977351000",
         "tags": ["Materials", "Models"],
         "license": ["SPDX:CC0-1.0"],
         "schema_version": "1.0.0"
       }
}

Asset Libraries

Note that these entries are not individual assets. Instead they are Asset Libraries which contains a series of assets.

Unlike the other extension types, Asset Libraries are never “installed”. As long as Online Access is on, and their repository is enabled, all of their assets are discoverable from the Asset Browser.

It should be possible to download an entire Asset Library, or copy over cached assets to a local User Library.

Assets

Only CC–0 licensed assets should be available by default from within Blender. Example of potential asset libraries to be included on extensions.blender.org:

  • A selection of CC-0 models from Sketchfab
  • A selection of assets from Polyhaven
  • Open Movies (note: a lot of the content at the moment if CC-BY though)
  • Grease Pencil Brushes
  • Simon’s Archiviz Materials - e.g., his Cube Diorama.

Unlike the other extensions from extensions.blender.org, the asset libraries won’t be made of individual community contributions. Instead it will be a curated selection of high-quality asset libraries, either authored by the Blender Studio, sampled from CC-0 websites, commissioned or contributed by the community. They could still be listed on the Extensions Platform though.

Next steps

23 Likes

It seems logical to me that 3d models aren’t open to individual submissions, as in the end they are not literal “extensions”.

Regarding brushes, though, for Grease Pencil and sculpting, I think leaving the space for community to also contribute individually would create a thriving environment for sharing brushes, particularly given the new interface that will come in the next release to manage them. I can see very well people sharing their brushes with others online, and I think these should count as extensions, as they are tools extending Blender’s behavior. Other software like Krita or commercial sculpting applications do have large libraries of brushes contributed by users online, and they are both very frequently used, high quality and sadly scattered everywhere. Blender could do things differently, here!

What I’ve written applies to geometry nodes modifiers/tools too, which I think are not part of this proposal, but I think are going to benefit a lot from being shared on the platform by creators.

8 Likes