GameFramework:AssetBunle 工具、配置、打包设置

介绍GameFramework 资源工具相关内容

提示:演示工程为StarForce
例Git地址:StarForce


文章目录


一、Resource 工具相关配置

 

1、首先来看看,Resource配置的三个文件,在哪里。

2、GameFrameworkConfigs脚本做了配置路径属性的处理,关于Attribute的使用,不太了解的可以百度一下,涨涨知识。

 3、接下来,一起看看ResourceBuilder.xml    ResourceCollection.xml   ResourceEditor.xml

重点: 如果是自己搭建工程,没有对应的xml 文件,需要自己新建,不然报错给你看。

ResourceEditor.xml 内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<UnityGameFramework>
  <ResourceEditor>
    <Settings>
      <!--配置资源搜索的根目录,可以从Assets根部全部查找,可以配置成子目录-->
      <SourceAssetRootPath>Assets/GameMain</SourceAssetRootPath>
      <!--配置资源搜索的子目录,相对于根目录的路径,支持配置多个子目录,如果为空,则搜索所有子目录-->
      <SourceAssetSearchPaths>
        <SourceAssetSearchPath RelativePath="" />
      </SourceAssetSearchPaths>
      <!--筛选并包含的资源类型-->
      <SourceAssetUnionTypeFilter>t:Scene t:Prefab t:Shader t:Model t:Material t:Texture t:AudioClip t:AnimationClip t:AnimatorController t:Font t:TextAsset t:ScriptableObject</SourceAssetUnionTypeFilter>
      <!--筛选并包含的标签类型-->
      <SourceAssetUnionLabelFilter>l:ResourceInclusive</SourceAssetUnionLabelFilter>
      <!--筛选并排除的资源类型-->
      <SourceAssetExceptTypeFilter>t:Script</SourceAssetExceptTypeFilter>
      <!--筛选并排除的标签类型-->
      <SourceAssetExceptLabelFilter>l:ResourceExclusive</SourceAssetExceptLabelFilter>
      <!--编辑器中资源列表的排序,可以是Name(资源文件名),Path(资源全路径),Guid(资源Guid)-->
      <AssetSorter>Path</AssetSorter>
    </Settings>
  </ResourceEditor>
</UnityGameFramework>

ResourceBuilder.xml  内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<UnityGameFramework>
  <ResourceBuilder>
    <Settings>
      <!--内部资源版本号(Internal Resource Version)建议每次自增 1 即可,Game Framework 判定资源包是否需要更新,是使用此编号作为判定依据的。-->
      <InternalResourceVersion>3</InternalResourceVersion>
      <!--打包平台-->
      <Platforms>1</Platforms>
      <!--压缩方式 0 无压缩 1 LZ4 2 LZMA-->
      <AssetBundleCompression>1</AssetBundleCompression>
      <!--Compression Helper 默认压缩解压缩辅助器-->
      <CompressionHelperTypeName>UnityGameFramework.Runtime.DefaultCompressionHelper</CompressionHelperTypeName>
      <!--压缩助手对输出完整资源进行额外压缩 True表示勾选即使用,False表示不勾选即不使用 -->
      <AdditionalCompressionSelected>True</AdditionalCompressionSelected>
      <!--强制重建资产绑定 True表示勾选即使用,False表示不勾选即不使用 -->
      <ForceRebuildAssetBundleSelected>False</ForceRebuildAssetBundleSelected>
      <!--Build Event Handler类型名称-->
      <BuildEventHandlerTypeName>StarForce.Editor.StarForceBuildEventHandler</BuildEventHandlerTypeName>
      <!--AB输出路径-->
      <OutputDirectory>F:/study/starforce/Build</OutputDirectory>
      <!--Package输出路径是否勾选,True表示勾选即输出,False表示不勾选即不输出-->
      <OutputPackageSelected>False</OutputPackageSelected>
      <!--Full输出路径是否勾选,True表示勾选即输出,False表示不勾选即不输出-->
      <OutputFullSelected>True</OutputFullSelected>
      <!--Packed输出路径是否勾选,True表示勾选即输出,False表示不勾选即不输出-->
      <OutputPackedSelected>False</OutputPackedSelected>
    </Settings>
  </ResourceBuilder>
</UnityGameFramework>

ResourceCollection.xml  内容如下:

由于文件比较长我就分开介绍了 Resources节点,内容:

 Assets节点,内容: 

变体我瞎猜的 =_=

二、Resource Builder 面板

ResourceBuilder.xml 对着这个面板,仔细看看,慢慢品   =_=  有点东西!!

  • Environment Information 列出了当前项目的基础信息。
  • Platforms  用于指定构建哪些平台的 AssetBundle。
  • AssetBundleCompression  压缩方式 无压缩  LZ4  LZMA 。
  • Compression Helper  压缩解压缩辅助器 压缩数据   解压缩数据 处理的。
  • Additional CompressionSelected 是否进行再压缩以降低传输开销。
  • Build Event Handler  用于指定追加构建资源包前后的行为,在实现 IBuildEvent 接口之后,即可在此处选择。例如可以在构建资源包后自动将资源拷贝到指定目录。
  • Internal Resource Version  建议每次自增 1 即可,Game Framework 判定资源包是否需要更新,是使用此编号作为判定依据的。
  • Resource Version 根据当前 App 版本号和内部资源版本号自动生成,作为参考显示。
  • Output Directory  输出目录。
  • Working Path Unity 生成 AssetBundle 时的工作目录。
  • Output Package Path 为单机模式生成的文件的所在目录,如果你是打单机的只勾选此项就行了,对应的ab 会自动拷贝至 StreamingAssets。
  • Output Full Path 为可更新模式生成的完整文件包的所在目录,若游戏是网络游戏,生成结束后应将此目录上传至资源服务器,供玩家下载用。
  • Output Packed Path 为可更新模式生成的文件的所在目录,若游戏是网络游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后构建 App 即可。一个 AssetBundle 是否会生成到 Output Packed Path,取决与这个 AssetBundle 是否在 AssetBundle 编辑工具中被标记为 Packed。

三、Resource Editor 面板

 ResourceCollection.xml 对着这个面板,仔细看看,慢慢品   =_=  有点东西!!

Hie Assigne:隐藏已经存在于 AssetBundle 中的资源,只列出尚未指定 AssetBundle 的资源。

Clean:从所有的 AssetBundle 中清理无效的资源,并移除所有空的 AssetBundle。建议 Save 前总是点一下 Clean 按钮,因为构建 AssetBundle 的时候,Unity 不允许存在无效的资源或者空的 AssetBundle。空的AB在左侧中会显示成灰色,会导致打包失败。

Save:保存当前所有 AssetBundle 和资源的状态。注意保存!!!

 

 >>  将选中的资源从 AssetBundle 中移除。

<<   将选中的一个或多个资源增加到选中的 AssetBundle 里。由于 Unity 的限制,不允许在一个 AssetBundle 中同时存放场景(*.unity)和非场景资源。

<<<  分别将已选中的一个或多个资源作为 AssetBundle 名来创建 AssetBundle,并将自身加入到对应的 AssetBundle 里。

 Add:增加新的 AssetBundle,点击后需指定 AssetBundle 的名称(含目录名,使用“/”分隔)和变体名称(可空、根据需要使用)。

Rename:重命名选中的 AssetBundle。

Remove:移除选中的 AssetBundle。

Load Fror:AssetBundle 的加载方式,可选择从文件加载、从内存加载,或者是从内存中解密后加载等。

Packed:标记此 AssetBundle 是否需要随 App 一起发布,若勾选则打包时会做特殊处理。

这三个功能按钮,自己试试就知道意思了,学习需要多尝试。

总结

提示:到这里Resource工具如何使用,对应的配置文件,里面的参数是啥意思有所了解。

工具用起来不难,大家学习的时候多点点,多尝试,不要怕弄坏了,只有多尝试才能学得快。

猜你喜欢

转载自blog.csdn.net/weixin_39081932/article/details/126665579