ue3dAddressable Importer(Unity)自动化设置地址

Addressable Importer(Unity)自动化设置地址

分类:

使用Addressable资产系统,可以根据任何地址管理资产,这样做虽然方便,但是需要给各个资产分配地址。

因为这不是人做的工作,所以要用AssetPostprocessor来实现自动化,本人发现可以自动分配地址的方便的OSS-Unity Addressable Importer,因此在这里介绍一下。

使用这个的话,根据如下图的设定文件定义的规则,地址、群组、标签的设置都可以实现自动化。

ue3d - Addressable Importer(Unity)自动化设置地址

关于Addressable,在设置完成的前提下进行说明,关于Addressable的概念和设置方法,可以根据需要参考下面的文章。

安装和设置

请按照以下步骤进行安装和设置。

安装

要安装Unity Addressable Importer,请将存储库信息添加到manifest.json中的Dependencies中。

{
    "dependencies": {
        "com.littlebigfun.addressable-importer": "https://github.com/favoyang/unity-addressable-importer.git"
    }
}

将通过添加上述内容并启动Unity来执行安装。顺便说一下,第一次安装时,已安装版本的提交信息会自动写入manifest.json

"lock": {
    "com.littlebigfun.addressable-importer": {
      "revision": "HEAD",
      "hash": "25821426686726730e723abe617301c23ea29e84"
    }
  }

如果想更新,只需在此处重写或删除此描述并重新安装即可。

设置

安装完成后,进行下一步设置。

首先选择资产 → 创建 → 可寻址 → 导入设置

ue3d - Addressable Importer(Unity)自动化设置地址

然后将生成一个名为AddressableImportSettingsScriptableObject,因此将其放置在Assets → AddressableAssetsData下。

ue3d - Addressable Importer(Unity)自动化设置地址

规则

如果查看上面创建的AddressableImportSettings的检查器,可以看到它显示如下(规则大小设置为1)。

ue3d - Addressable Importer(Unity)自动化设置地址

下面,将通过编辑这个ScriptableObject来决定地址设置规则。

确定目标资产

首先,确定目标资产,通过在规则路径中输入资产路径来指定资产。

ue3d - Addressable Importer(Unity)自动化设置地址

如果将匹配类型设置为通配符,则可以使用指定*任意数量的字符,并使用指定任意单个字符。

例如,可以指定如下内容:?

Asset/Prefabs/Character_??/*.prefab

另外,如果将匹配类型设置为正则表达式 ,则可以使用正则表达式指定路径。

例如,可以指定如下内容:

Assets/Prefabs/Character_[0-9]{2}/.*.prefab

实际上,认为有很多情况是使用像这样的通配符和正则表达式创建规则的。

设置群组

接下来,决定资产所属的组,要设置群组,只需在群组名称中输入群组名称即可。

顺便说一句,如果将其留空,它将被添加到默认组中。

ue3d - Addressable Importer(Unity)自动化设置地址

${PATH[0]}可以通过将组名称指定为来使用资产路径的一部分作为组名称。

例如,如果如下设置,则Character_xx文件夹名称将为组名称。

ue3d - Addressable Importer(Unity)自动化设置地址

顺便说一句,如果为索引指定负值,则可以指定从末尾到根的文件夹编号,这样通过以下设置可以获得与上面相同的结果。

ue3d - Addressable Importer(Unity)自动化设置地址

此外,如果匹配类型设置为Regex ,还可以使用名为group的正则表达式指定组名称。命名组(?<name>)指定为(有关详细信息,请从这里参阅文档)。

ue3d - Addressable Importer(Unity)自动化设置地址

如果此处选中允许创建组,则如果指定的组不存在,将创建一个新组。另外,如果选中删除空组,则没有资产的组将被删除。

ue3d - Addressable Importer(Unity)自动化设置地址

另外,如果在组模板中设置了AddressableAssetGroupTemplate,则创建组时将基于该模板进行组设置。

此外,如果将组模板应用模式设置为始终覆盖组设置,则即使创建(更新)新组,也会应用该模板的设置。

ue3d - Addressable Importer(Unity)自动化设置地址

设置标签

设置标签很简单,只需在Label Refs中指定要添加的标签即可。

ue3d - Addressable Importer(Unity)自动化设置地址

此时,如果Label Mode为Add,则会添加到当前设置的标签中,如果Replace,则会将当前设置的标签删除并替换。

ue3d - Addressable Importer(Unity)自动化设置地址

设置地址

现在,将为通过这种方式选择的资产设置一个地址,作为一般规则,资产路径按地址中的原样设置。

认为这在大多数情况下都可以,但也可以更改地址,如下所示。

如果选中简化地址,则地址将为不带扩展名的文件名。

ue3d - Addressable Importer(Unity)自动化设置地址

此外,如果未选中地址简化并且匹配类型设置为正则表达式,则可以设置地址替换。例如,如果进行如下配置,Prefabs_Character_01则会设置这样的地址。

ue3d - Addressable Importer(Unity)自动化设置地址

关于何时应用规则

以这种方式创建的规则将在导入或移动资产时应用。

如果想在导入后应用它,请右键单击该文件夹AddressablesImporter: Check Folder(s)并选择。

也可以重新导入,但这更快,因为它不涉及不必要的处理。

以上是关于Addressable Importer自动化设置地址的全部内容。

如果你有任何反馈,请随时在本页面下方留言。

相关信息

  • 类型:知识
  • 字数:1348
  • 字符:4284
  • 适用软件:Unity
  • 说明:无
  • 编号:169129

热门内容

提示:3D天堂作为服务提供者,尊重网络版权及知识产权,对某些行为的发生不具备充分的监控能力,若无意间侵犯到您的权利,请 联系我们,我们会在收到信息后尽快给予处理。

本站文章版权归本站自创作者所有,未经允许不得转载!