Unity插件AssetGraph官方说明手册(一)

一、引言


AssetGraph是一种减少资源导入构建工作流所需的工作量的工具,构建AssetBundle和构建可运行应用。使用这个工具,您可以构建工作流,以图形化的方式创建、修改和更改资源设置,甚至使它们自动设置,从而使设计师和艺术家在游戏开发过程中从重复的任务中解脱出来。

  • 重要说明:

本插件是Unity日本分公司开发的一款可视化资产自动化构建工具,但该工具已经停止开发,无法直接基于该插件进行自动化工作流构建和部署,有一些地方会有报错。需要项目上的程序员二次开发。
Unity 2019 新特性在次时代手游 《黑暗之潮》中的应用经验及技术分享www.bilibili.com/video/BV1ca4y1W7wN
Unity线上技术大会干货盘点(2020)-《黑暗之潮》中次时代技术的应用经验及技术https://zhuanlan.zhihu.com/p/355729231

二、支持的版本

Unity 2018.4.2f1 及以上版本。

三、安装

可以从Unity 的Package Manager中进行安装。

从unity工程顶部工具栏【window】> 【Package Manager】,点击+号按钮,从下拉菜单中选择“Add package from git URL”,然后在链接中输入地址:https://github.com/Unity-Technologies/AssetGraph.git


四、界面

4.1Graph编辑窗口

Graph编辑器窗口是一个可视化窗口,在此界面可以查看、编辑和构建资源流程。


编号 说明
1 当前已打开的资源流程图,单击以打开下拉菜单。
2 刷新Graph
3 显示Graph中所有的错误
4 显示Graph中的说明
5 导出有关Graph何时重新加载和其构建时间的详细消息。
6 启用此选项可将Graph用作资源后处理器。启用了此选项的Graph将在每次更新此项目中的资源时运行。
7 当前应用的平台,可以从下拉菜单中选择其他平台
8 运行此Graph(在1.7.2预览版中,此按钮名称被变更为Execute)
9
10 显示此Graph的资源路径

4.2The Graph 编辑器菜单

编号 说明
1 在编辑器中选择要打开的Graph类型
2 创建一个新的Graph
3 导出或导入一个json格式的Graph设置

4.3日志窗口

日志窗口显示在“AssetGraph”节点中完成的资源修改的列表。它还显示了在Graph中发生的任何错误。


序号 说明
1 清除记录
2 激活以使在每次运行资源自动化配置时,都会先清除记录。
3 资源预览
4 资源的名称以及日志记录的时间
5 日志类型,以及工作流的名称和节点名称
6 打开工作流图表并选择发出此日志事件的节点
7 日志列表

4.3.1错误记录


当运行Graph出现错误时,日志中会出现一个通知。在日志中显示了对错误的描述,以及如何修复它。

4.4 The Batch Build Window批量生成窗口

该批处理构建窗口允许您在多个平台上同时运行多个Graph列表

4.4.1 The Edit Tab编辑选项卡

在此界面,你可以编辑同时运行的Graph集合
序号 说明
1 切换编辑、运行选项卡
2 点击add按钮可以新增一个空的集合,也可以通过拖放创建集合。
3 Graph列表
4 显示当前选定的Graph集合中包含的Graph。集合中的Graph将按从上而下的顺序运行。可以通过在列表中拖动Graph来更改顺序。

4.4.2 The Build Tab 运行选项卡

在运行选项卡上执行选定平台的Graph集合
序号 说明
1 下拉选项,选择一个Graph集合
2 运行所选中的Graph
3 更改指定的平台,用鼠标右键单击以添加或删除一个平台
4 显示运行的状态:成功、失败
5 详细的运行结果,以及失败时的报告信息

4.5 The Project Window 项目窗口

Graph有项目级别共享设置,这些设置在项目窗口中实现。
要修改项目设置,选择 Menu>Window>Asset Graph>Open Project Window,打开项目设置窗口

4.5.1 The Asset Bundles 选项卡

此界面用于更改与Asset Bundle相关的设置
序号 说明
1 选择一个在AssetBundle构建时的缓存目录
2 与AssetBundle集成时,默认的Graph

4.5.2 The Execution Order Tab执行顺序选项卡

在这个选项卡里,你可以调整Graph设置的后处理器处理顺序。
序号 说明
1 Graph的名字
2 执行顺序,首先执行值最小的Graph,没有特殊设置的将默认按此顺序从上到下执行
3 从列表中增加/移除Graph

五、基础操作

AssetGraph在Graph中完成所有的工作。创建Graph后,请从“Graph Editing 窗口”添加节点Node,通过链接Node,可以为待处理的Asset配置工作管道。

Asset将从左到右处理,在每个阶段进行修改和分组,最终作为AssetBundle进行添加,或者复制到特定目录。

使用此工具的基本方法是通过使用内置Node节点或自定义节点来构建流程管道,然后一次性处理许多的Asset。

5.1 创建一个Graph工作蓝图

要创建一个Graph,选择【Create New】,或者右键单击并选择“AssetBundle Graph”.也可以选择Menu > Window > Asset Graph > Open Graph Editor,并点击‘Create’按钮



当你已经创建过一个Graph asset文件,则可以双击打开它进行编辑。在编辑器界面,可以右键创建新的节点。

5.2 加载资源类型Loading Assets

要配置一套工作流程Graph,需要先加载资源。在编辑器蓝图窗口中,右键点击后出现“右键菜单”,在菜单中选择Loading Assets。然后我们在出现的二级菜单中,选择【Load From Directory】就会从特定目录加载资源。也可以从【project】窗口拖动目录到编辑器蓝图窗口中,也可以创建来自该目录的节点。



创建节点后,选中该节点,则右边的【Inspector】中会出现本节点的信息,你也可以在这里进行加载路径的修改。点击【Select】后可以从资源目录下选择需要操作的资源文件夹。

现在已经创建了加载资源节点,可以创建另外一个节点并链接他们。在链接节点时,你可以看到该资源被传递给已链接的节点。单击此链接,可以从【Inspector】中看到传递的资源列表

对于加载节点类型,在一个Graph中,没有数量上限限制。但是当打包为Asset Bundles模式时,如果一个asset在多个Asset Bundles中,就会报错。

5.3 资源组节点类型Grouping Assets

使用资源编组的方式对资源进行分组管理,通常建议当你希望向Asset Bundle中添加大量资源,或希望从一组资源中创建一个Prefab时使用。当资源首次加载时,他们都在一个默认名称为“0”的组中。你可以以任何你喜欢的方式组合资源。可以尝试右键【Group Asset】—【Group By File Path】(按文件路径分组)来创建节点。



【Group By File Path】是一个按文件路径分组对资源进行分组管理的节点。比如:如果Assets/Enemies文件夹下有【Pirate】、【Vampire】的角色资源,他们将被分为两组。


角色资源是基于目录的,所以你希望基于该目录对其进行分组

【Group By File Path】匹配文件路径并对其进行分组,如上图所示,在这个特殊的示例中使用通配符(*)模式匹配很方便。选择【WildCard】(通配符)作为模式类型,并选择“enemies”作为分组关键字
Inspector 设置 Group By File Path

创建另外一个节点,将其与【Group By File Path】链接起来,然后选中连线。在【Inspector】中,你可以看到“Pirate”和“Vampire”目录下的资源分别被编组到【Pirate】和【Vampire】组中。


按照 “Enemies/*/” 匹配完成的资源分组

要构建asset bundle设置,请在编辑器蓝图区域右键单击,然后【Configure Bundle】—【Configure Bundle From Group】创建节点。创建完毕后,将其与【Group By File Path】链接在一起。

5.4 构建AssetBundle类型Constructing AssetBundle Settings

当对资源进行分组时,请尝试将其转换为AssetBundle。你必须创建一个AssetBundle设置,才能将组转换为AssetBundle。创建AssetBundle设置包括命名AssetBundle、指定变量等。在构建AssetBundle之前,需要链接一个节点,用于创建你的AssetBundle设置并映射到该组。

创建AssetBundle设置,右键单击并选择【Configure Bundle】—【Configure Bundle From Group】,创建好后,将【Group By File Path】节点链接过来即可。

5.5 创建Asset Bundles

你已经成功设置了Bundle,我们现在将开始为AssetBundle构建做准备。要根据设置进行Bundle构建,请右键单击【Build】—【Build Asset Bundles】以创建一个新的节点。链接【Configure Bundle From Group】节点和【Build Asset Bundles】节点,如果你要修改AssetBundle的构建设置,比如压缩方法,请选择【Build Asset Bundles】节点,并在“Inspector”窗口中勾选复选框。现在你已经准备好构建你的AssetBundle了。


5.6 Building A Graph

你已经处理了从加载资源到构建AssetBundle的完整流程,现在可以开始构建Graph工作流了,让我们看看他们的效果如何。要开始构建工作流,请单击窗口上的【Excute】

当进度条消失的时候,构建完成。打开在【Build Asset Bundles】中选择的目录,检查文件是否已导出。如果你设置为在缓存目录中构建,AssetBundle将在安装目录的缓存目录下。

5.7 同时构建多个Graph工作蓝图

当随着项目的进展,需要制作多个Graph时,转到 【Menu】—【Window】—【Asset Graph】—【Open Batch Build Window】,该批处理构建窗口功能,可以允许你同时为多个平台构建多个Graph工作流。要了解关于批处理生成窗口的更多信息,请参阅4.4批量生成窗口

六、进阶操作

6.1 资源分类

当使用目录和标签加载资源时,资源类型并不总是相同的。在将资源传递给下一个节点时,要按照名称或类型对资源进行分类时,可以使用【Split Assets】—【Split By Filter】,此筛选器允许你根据名称和类型对资源进行分类,你还可以添加自己的过滤器,(高级功能:添加自定义筛选器)。当一个资源匹配多个筛选器时,该资源将导出到它经过的第一个筛选器,这意味着筛选器的顺序很重要。

6.2 创建资源Creating Assets

你可以创建新的资源,比如:你可能从美术添加的贴图、模型,自动创建游戏预制体。右键单击,选择【Create Assets】—【Create Prefab From Group】,以创建一个节点。要使用【Create Prefab From Group】创建预制体,你必须向项目中添加预生成脚本。请参阅高级功能:从组内创建预制体,如何成为一个预制体构建者。
当你通过【Create Prefabs From Group】来创建预制体时,程序会自动生成预览并添加到导出。

6.3 编辑资源Editing Assets

你可能会需要批量编辑资源,或者作为批处理时批量编辑资源。通过使用AssetGraph,可以一次性编辑导入设置,并直接编辑未通过导入器的资源(比如材质、贴图),如果你要更改贴图和模型的导入设置,右键单击【Modify Assets】—【Overwrite Import Settings】

你可以使用【Overwrite Import Settings】节点,变更模型、贴图、材质、音频、视频的导入设置。有关如何使用它的更多信息,请参阅【Built-in nodes】—【Overwrite Import Settings】,当资源传递到节点时,资源的设置将被修改。

如果要编辑没有导入的资源,请使用【Modify Assets Directly】节点,要了解如何使用它,请参考【Built-in nodes】—【Modify Assets Directly】

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容