资产目录

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

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

For more technical information, see Asset Catalogs on the Blender Wiki.

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

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

编辑资产

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

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

在资产浏览器中选择目录将显示该目录和子目录中的所有资产。因此,在前面的示例中,选择 Characters/Ellie/Poses 也会显示 Characters/Ellie/Poses/HeadCharacters/Ellie/Poses/Hands 的资产。

指定材质

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

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

要将资产指定给目录,只需选择并拖动资产到目录顶部即可。

Tip

您可以将资产指定给 "未分配" 目录,这将将其从任何现有目录中移出。

目录的组件

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

资产目录

目录的路径确定在目录层次结构中显示目录的位置。例如 Characters/Ellie/Poses/HandKitbash/City/Skyscrapers,将产生如下图所示的目录树。其中突出显示的目录是 Characters/Ellie/Poses/Hand

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

资产目录的示例树。

UUID

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

简单名称

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

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

目录定义文件

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

写入哪个文件

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

格式

目录定义文件(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 之间没有区别。

  • 仅将 / 作为分隔符(不可以是 \,鲜见于文件系统路径,多用于 URL)。

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

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

  • 非法字符::\

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