简介
本节介绍Blender的资产库系统。它在Blender 3.0中引入,并将在即将发布的多个版本中进行改进和扩展。
See also
以下博客文章是在资产浏览器的设计和开发过程中撰写的。它们是出于历史原因而在这里联系在一起的,并为当前的设计提供了一些更多的背景。
何为资产?
资产是具有意义的数据块。
blend文件是具有多个 数据块 的数据库:物体、纹理、材质等。当计划重新使用或共享这些数据时,数据需要有意义。这是什么?有何作用? 资产是经过策划的数据块,旨在便于重复使用。
何为资产库?
资产库是驱动器上的目录,在首选项中注册为资产库。注册意味着您为库命名(如 "Sprite Fright" )和驱动器上的位置(如 "/home/sybren/projects/sprite-fright/assets" )。
注册后,您可以在资产浏览器中选择资产库。资产库中的所有blend文件都将扫描资产,所有这些资产都将显示在资产浏览器中。
Note
首次加载资产库可能需要一段时间,但下次加载资源库时应大大加快。Blender生成资产库中包含的所有资产的索引,并在其内修改文件时保持其最新状态。索引存储在 缓存目录 中。
blend文件可以直接在资产库的顶层目录中,也可以直接在任何子目录中。资产库的驱动器组织完全由您决定。无论哪个blend文件包含资产,都可以为每个资产分配 目录 。有关如何以这种方式整理资源的详细信息,请参阅 资产目录 。
资产类型
资产可大致分为两类: 原始 和 预设 资产。这取决于 数据块 类型。
原始资产是 链接或附加 到当前文件的数据块。示例包括对象、材料和世界。这些可以从资源浏览器拖到场景(对象和世界)中,也可以拖到现有对象(材质)上。
预设资产是加载数据块,然后 应用 到某个东西。一个例子是姿态资产。施加姿态时,数据块将从其blend文件加载,然后将姿态应用于活动骨架。
今后,资产类型的定义将扩大;有关更多信息,请参阅 开发 。
当前文件资产库
为了帮助管理当前blend文件中的资源,您可以将资产浏览器设置为显示 当前文件资产库 。这始终显示当前文件中的资产,即使当前文件未保存在资产库中。这还可以创建资产并将其用于同一文件中的小型单个文件项目。
当当前blend文件是资产库的一部分时,您当然也可以在该库中看到其资产。当前文件中的资产标记为图标;只有这些是可编辑的。
资产的生命周期
本节介绍如何创建、编辑、共享和使用资源。
创建资产
要创建资产,请先创建您想要变成资产的东西。也就是说,创建对象、材质、世界或姿势您的角色。下一步取决于资产的类型(见: 资产类型 )。
对于原始资产,请使用 标记为资产 运算符。它可以在数据块选择器、大纲中以及3D视口对象菜单中的对象中找到。使用 标记为资产 时,会自动生成预览。如果需要,也可以更改或替换为您自己选择的图像;使用 "资源浏览器" 的 "资源详细信息" 区域中预览图像旁边的文件夹按钮。
对于预设的资产,将为不同的资产类型提供专用按钮。当前姿势是唯一的预设资源;请使用操作编辑器中的 创建姿势资源 按钮。这将将所选骨骼的姿势复制到新的操作中,将其标记为资产,如果有打开的资产浏览器,则将其放入当前活动的资产目录中。
创建资产后,请确保将当前的blend文件保存在资产库中。Blender不会为您将资产复制到资产库中。
编辑资产
由于资产是常规数据块,仅附带少量元数据,因此可以像任何其他Blender数据一样对其进行编辑。只需打开文件并编辑对象、材料、世界等即可。
对于POSES资产,这也是可能的。打开姿势库文件后,只需单击 分配操作 按钮,将姿势操作分配给当前选定的骨架。然后,您可以使用所有动画工具来编辑姿势、删除或添加键等。
可以通过 资产浏览器 编辑资产元数据。
编辑资产
可以从 资产浏览器 中使用资源。
姿势库扩展了此功能,并将资源视图添加到3D视口。请参阅 从3D视口使用。
删除资产
清理资产 运算符可以擦除资产元数据。此运算符在数据块选择器、资源浏览器和3D视口菜单中的对象中可用。
Bundled Assets
Blender includes many assets out of the box, these are contained in the "Essentials" library. This library contains a catalog of hair node groups for use with geometry nodes. Read more about these node groups in the Geometry Nodes section.
设计局限
Blender不允许写入当前打开的blend文件以外的其他blend文件**。这意味着要编辑资产,您必须打开其对应的blend文件。幸运的是,无论是在 "资产浏览器" 的 "源列表" 区域中还是在 "资产上下文" 菜单中,只需点击一下即可。
这也意味着** Blender不会为您将资产复制到资产库**中。您有责任将与该资产的blend文件放置在资产库目录中,并将该资产标记为资产。有关此主题的更多信息,请参阅 平直推送。
开发
本节介绍进一步发展的有趣途径。即使它不是详尽无遗的列表,但它也可能有助于更好地了解Blender的资产浏览器的当前功能。
资产、文件 & 数据系统
未来版本可能会支持非Blender资源,例如图像或音频文件。对于此类文件,资产元数据随后存储在XMP sidecar文件中,类似于其他软件也在做的事情。进口商( USD , glTF , FBX ,... )也可以通过这种方式将其文件类型作为资产添加支持。此外,应该可以用Python脚本丰富资产,然后在使用资产时提供要运行的代码。
交叉blend文件编辑
如上所述, Blender本身不允许写入当前打开的blend文件以外的其他blend文件。此规则有助于限制复杂性;例如,在操纵其他文件时,很难可靠地实现撤消系统。当资产存储在各种blend文件中时,该规则确实会妨碍对其进行批量更新。
由于已经有一些工具可以在Blender本身之外操控blend文件(参见 `Blender Asset Tracer<https://developer.blender.org/project/profile/79/>`__),因此也可以创建一个外部工具来跨blend文件进行此类编辑。这种工具甚至可以通过Blender的应用程序模板系统实现,也可以用作插件;上述规则适用于Blender本身而不是插件。
平直推送
资产 推送 是一种将资产放入资产库的方式,即你正在处理一个文件,并希望将该文件中的资产复制到资产库中。这是一个看起来很简单的概念。在某些情况下,它实际上是简单的,但往往会变得相当复杂。例如,当你想把一个物体推入外部资产库时,是否也应该复制材质?这些材质所引用的纹理图像怎么办?由自定义属性、约束或修改器引用的对象呢?它们应该放在哪个文件里?它们是都放在一个大的 "assets.blend "里,还是单独的blend文件里,还是放在每个资产类型的目录里?Blender不应该为你做这样的决定。
对于特殊情况,这些问题都是可以解决的。因此,姿态库已被创建为默认启用的插件。具有特定需求的工作室可以禁用插件并实现其自身的功能;构建基块都在Blender的核心中,因此不需要为此进行复制。此外,插件还可以写入其他blend文件,因此它们可以为用户做出决定。
资产推动是可取的。由于上述问题,尚不清楚如何很好地实现此功能,从而仍然允许艺术家控制其资产。