/files/asset_libraries/catalogs

资产目录可帮助您整理资产。它们看起来有点像文件目录,但完全独立于混合文件的位置。将混合文件中的每个资产分配到自己的目录,或使用一个大目录,将所有混合文件的所有资产组合在一起。这一切都取决于你。

类似于 集合 ,可以嵌套目录,即可以有一个包含多个嵌套目录的主目录。例如,这允许您拥有 "家具" 的资产目录,其中包含 "桌子" 、 "椅子" 、 "灯具" 等子目录……

有关更多技术信息,请参阅 "Blender Wiki上的资产目录 <https://wiki.blender.org/wiki/Source/Architecture/Asset_System/Catalogs>`__ 。

../../_images/asset-browser-catalogs.png

示例文档系统和目录结构。

编辑资产

您可以选择任意数量的目录,但 资产一次可以分配给单个目录 。这类似于文件系统,其中文件仅在一个目录中(忽略象征性链接等高级内容)。

目录本身可以通过拖放来嵌套和移动。移动目录不会修改其所包含的资产;它们只会移动到目录的新位置。

在资源浏览器中选择目录将显示该目录和子目录中的所有资源。因此,在前面的示例中,选择 "字符/Ellie/姿势"也会显示 "字符/Ellie/姿势/头部"和 "字符/Ellie/姿势/手"的资产。

指定材质

../../_images/asset_browser-assign_catalog.png

将所选的 "缩放材质" 资源分配给目录。

要将资源分配给目录,只需选择并拖动目录顶部的资源即可。

Tip

您可以将资产分配给 "未分配" 目录,这将将其从任何现有目录中删除。

目录的组件

每个目录由 目录路径UUID简单名称 组成。通常,您只能处理目录路径;其余仅供内部Blender使用和/或紧急情况下使用。

资产目录

目录的路径确定在目录层次结构中显示目录的位置。例如 字符/Ellie/姿势/手Kitbash/City/摩天大楼 ,这将产生以下目录树。突出显示的目录具有路径 Characters/Ellie/Poses/Hand

../../_images/asset-catalog-tree.png

资产目录的示例树。

UUID

每个目录都有一个`UUID <https://en.wikipedia.org/wiki/Universally_unique_identifier>`__,通常在用户界面上是隐藏的(启用Developer Extras和实验性资产调试信息选项可以看到它们)。这是存储在资产中的内容,也是决定目录 "身份 "的内容。因此,一个目录可以被重新命名或移动(也就是说,你可以改变它的路径),所有包含在其中的资产都会随着它移动。这只需要改变目录本身,而不是改变任何资产混合文件。

简单名称

每个目录都有一个可选的 简单名称 。此名称与每个资源中的UUID一起存储。其目的是使人类能够识别资产所分配的目录,即使在 目录定义文件 (见下文)丢失时也是如此。

与UUID一样,简单名称通常隐藏在用户界面中。在界面首选项中启用开发人员附加功能,使其在资产浏览器中可见。

目录定义文件

资产目录存储在目录定义文件(CDF)中。Blender 3.0支持每个资产库单个CDF。它存储在资产库根目录中的 blender_assets.cats.txt 中。如果文件不存在,则Blender将在保存目录时创建它。当目录更改时, Blender会更新该文件,但也会创建一个名为 blender_assets.cats.txt~ 的文件的以前状态的备份。

写入哪个文件

资产目录可以独立于混合文件保存;目录编辑器有自己的 "保存" 按钮。

格式

目录定义文件(CDF)是相对简单的文本文件,以UTF-8编码。每个CDF都包括一个版本指标和每个目录的一行文本。每个目录行都用冒号分隔,形式为 "{UUID}: {path}: {simple name}"。

例子

这是一个有效的目录定义文件的示例:

# This is an Asset Catalog Definition file for Blender.
#
# Empty lines and lines starting with `#` will be ignored.
# The first non-ignored line should be the version indicator.
# Subsequent lines are of the format "CATALOG_UUID:catalog/path/for/assets:simple catalog name"

VERSION 1

313ea471-7c81-4de6-af81-fb04c3535d0e:catalog/without/simple/name:
ee9c7b60-02f1-4058-bed6-539b8d2a6d34:character/Ellie/poselib:character-Ellie-poselib
cd66bf52-58f4-45cb-a4e2-dc0e0ee8f3fe:character/Ellie/poselib:character-Ellie
4eb44ec6-3424-405b-9782-ca006953e799:character/Ellie/poselib/white space:character-Ellie-poselib-white space
b63ed357-2511-4b96-8728-1b5a7093824c:character/Ružena/poselib:Ružena pose library
dcdee4df-926e-4d72-b995-33106983bb9a:character/Ružena/poselib/face:Ružena face
fb698f2e-9e2b-4146-a539-3af292d44899:character/Ružena/poselib/hand:Ružena hands

有效的目录路径

目录路径遵循以下规则:

  • 所有路径都是绝对的; /a/ba/b 之间没有区别。

  • 仅将 "/"作为分隔符(no "";考虑更少的文件系统路径和更多URL)。

  • 不是空的(有效的目录是必需的)。

  • 没有空组件 (因此不是 a//b ; a/b 是正常的) 。

  • 非法字符: :, \.

  • 路径始终被解释为UTF-8。