资产目录

资产目录可帮助您整理资产。它们看起来有点像文件目录,但完全独立于 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

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

保存目录

Saving catalogs makes any edits to any catalogs permanent by writing the current set up to the asset library. Catalogs can be saved in the 资产浏览器 through Header ‣ Catalog ‣ Save Asset Catalog. Once the catalog is created you can double LMB on it's name Catalogs can also be saved in the Source List region of the editor by clicking the save icon found at the top of the tree view.

目录的组件

每个目录由 目录路径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 。