简介
本节介绍Blender的资产库系统。它在Blender 3.0中引入,并将在即将发布的多个版本中进行改进和扩展。
See also
用于组织和使用资产的主界面。
用于组织资产。
构建于资产浏览器之上。
The following blog posts were written during the design and development of the Asset Browser. They are linked here for historical reasons, and to give some more context to the current design.
何为资产?
资产是具有意义的数据块。
blend文件是具有多个 数据块 的数据库:物体、纹理、材质等。当计划重新使用或共享这些数据时,数据需要有意义。这是什么?有何作用? 资产是经过策划的数据块,旨在便于重复使用。
Note
一般术语 “资产” 通常也指其他文件类型,如图像、声音、视频文件等。目前Blender中不支持这些作为资产。
欲了解更多信息,请参阅 开发。
何为资产库?
资产库是驱动器上的目录,在首选项中注册为资产库。注册意味着您为库定义名称(如 “Sprite Fright” )和驱动器上的位置(如 /home/sybren/projects/sprite-fright/assets
)。
注册后,您可以在资产浏览器中选择资产库。资产库中的所有blend文件都将扫描资产,所有这些资产都将显示在资产浏览器中。
Note
首次加载资产库可能需要一段时间,但下次加载资源库时应大大加快。Blender生成资产库中包含的所有资产的索引,并在其内修改文件时保持其最新状态。索引存储在 缓存目录 中。
blend文件可以直接在资产库的顶层目录中,也可以直接在任何子目录中。资产库的驱动器组织完全由您决定。无论哪个blend文件包含资产,都可以为每个资产分配 目录。有关如何以这种方式整理资源的详细信息,请参阅 资产目录。
资产类型
资产可大致分为两类:原始 和 预设 资产。这取决于 数据块 类型。
原始资产是 关联或追加 到当前文件的数据块。示例包括物体、材质和世界环境。这些可以从资源浏览器拖到场景(物体和世界)中,也可以拖到现有物体(材质)上。
Preset assets are data-blocks that are loaded and then applied to something. An example is a pose asset. When applying the pose, the data-block is loaded from its blend-file, and then the pose is applied to the active armature.
今后,资产类型的定义将扩大;有关更多信息,请参阅 开发。
当前文件资产库
为了帮助管理当前blend文件中的资源,您可以将资产浏览器设置为显示 当前文件资产库 。这始终显示当前文件中的资产,即使当前文件未保存在资产库中。这还可以创建资产并将其用于同一文件中的小型单个文件项目。
当当前blend文件是资产库的一部分时,您当然也可以在该库中看到其资产。当前文件中的资产以图标来标记,只有这些是可编辑的。
资产的生命周期
本节介绍如何创建、编辑、共享和使用资源。
创建资产
要创建资产,请先创建您想要变成资产的东西。也就是说,创建物体、材质、世界环境或角色的姿态。下一步取决于资产的类型(见:资产类型)。
对于原始资产,请使用 标记为资产 操作。它可以在数据块选择器、大纲以及3D视图物体菜单中找到。使用 标记为资产 时,会自动生成预览。如果需要,也可以更改或替换为您自己选择的图像,通过资产浏览器的资产详情区域中预览图像旁边的文件夹按钮。
For preset assets, there will be a dedicated button for the different asset types. Currently poses are the only preset assets; use the Create Pose Asset button in the Action editor. This will copy the pose of the selected bones into a new Action, mark it as asset, and put it into the currently active asset catalog if there is an Asset Browser open.
创建资产后,请确保将当前的blend文件保存在资产库中。Blender不会为您将资产复制到资产库中。
编辑资产
由于资产是常规数据块,仅附带少量元数据,因此可以像任何其他Blender数据一样对其进行编辑。只需打开文件并编辑物体、材质、世界环境等即可。
对于姿态资产,这也是可以的。打开姿态库文件后,只需单击 指定动作 按钮,将姿态动作分配给当前选定的骨架。然后,您可以使用所有动画工具来编辑姿态、删除或添加关键帧等。
可以通过 资产浏览器 编辑资产元数据。
共享资产
由于资产仅存储在blend文件中,因此可以通过共享其blend文件来共享它们。请务必同时包含 资产目录定义文件。
目前没有提取选定资产并将其(连同其目录定义)保存到不同的blend文件中的功能。这可以作为一个插件来实现。
编辑资产
可以从 资产浏览器 中使用资产。
姿态库扩展了此功能,并将资产视图添加到3D视口。请参阅 从3D视口使用。
删除资产
清理资产 运算符可以擦除资产元数据。此操作项在数据块选择器、资产浏览器和3D视图物体菜单中可用。
清理资产
删除资产元数据(目录、说明、作者、标签),有效地将资产转化为常规数据块。因此,相同的移除规则适用于其他数据块。例如,如果网格物体仍放置在场景中,则 清理资产 不会将其从场景中删除。见 生命周期。预览将保留在数据块内,不会被删除。
清除资产 (设置伪用户)
执行与 清除资产 相同的操作,然后将数据块标记为 受保护。这样,就可以不再将数据块标记为资产,并且在保存blend文件时仍可确保数据块不会丢失。
捆绑附送的资产
Blender includes many assets out of the box, these are contained in the “Essentials” library.
这个库包括:
设计局限
Blender is not allowed to write to other blend-files than the one you have currently open. This means that to edit an asset, you have to open its blend-file. Fortunately this is only a single click away, both in the Source List region of the Asset Browser and in the asset context menu.
This also means that Blender does not copy assets into the asset library for you. You are responsible for placing the blend-file with the asset in an asset library directory, and marking the asset as such. See 平直推送 for more on this topic.
开发
本节介绍进一步发展的有趣途径。即使它不是详尽无遗的列表,但它也可能有助于更好地了解Blender的资产浏览器的当前功能。
资产、文件 & 数据系统
未来版本可能会支持非Blender资源,例如图像或音频文件。对于此类文件,资产元数据随后存储在XMP sidecar文件中,类似于其他软件也在做的事情。导入器( USD、glTF、FBX……)也可以通过这种方式支持将其文件类型作为资产。此外,应该可以用Python脚本丰富资产,然后在使用资产时提供要运行的代码。
交叉blend文件编辑
如上所述,Blender本身不允许写入当前打开的blend文件以外的其他blend文件。此规则有助于限制复杂性;例如,在操纵其他文件时,很难可靠地实现撤消系统。当资产存储在各种blend文件中时,该规则确实会妨碍对其进行批量更新。
由于已经有一些工具可以在Blender本身之外操控blend文件(参见 Blender Asset Tracer),因此也可以创建一个外部工具来跨blend文件进行此类编辑。这种工具甚至可以通过Blender的应用程序模板系统实现,也可以用作插件;上述规则适用于Blender本身而不是插件。
平直推送
资产 推送 是一种将资产放入资产库的方式,即你正在处理一个文件,并希望将该文件中的资产复制到资产库中。这是一个看起来很简单的概念。在某些情况下,它实际上是简单的,但往往会变得相当复杂。例如,当你想把一个物体推入外部资产库时,是否也应该复制材质?这些材质所引用的纹理图像怎么办?由自定义属性、约束或修改器引用的对象呢?它们应该放在哪个文件里?它们是都放在一个大的 “assets.blend “里,还是单独的blend文件里,还是放在每个资产类型的目录里?Blender不应该为你做这样的决定。
对于特殊情况,这些问题都是可以解决的。因此,姿态库已被创建为默认启用的插件。具有特定需求的工作室可以禁用插件并实现其自身的功能;构建基块都在Blender的核心中,因此不需要为此进行复制。此外,插件还可以写入其他blend文件,因此它们可以为用户做出决定。
资产推动是可取的。由于上述问题,尚不清楚如何很好地实现此功能,从而仍然允许艺术家控制其资产。