返回

XAsset6.1.2运行范例

XAsset学习记录,仅供参考,持续更新

环境配置

目录:

建立Unity运行工程

  1. 建立Unity工程,取名为xasset-example

  2. 下载示例资源,群文件搜索ExampleDemo.unitypackage(注意,仅供学习使用,请勿商用),导入Unity中。

建立XAsset类库工程

  1. 下载XAsset6.* 的源码,下载地址见官方群公告。下载后,会得到一个C#的类库工程。

  2. 将类库工程目录下的VEngine\Classes\Examples文件夹剪贴到Unity工程目录下,VEngine\Classes\Startup.cs脚本文件复制到Unity工程目录下,文件夹内的脚本为演示加载Demo用。随后修改类库中VEngine\Classes\Loadables\Loadable.cs脚本内的pathOrURL属性的访问权限为public(这步骤非必要的,因为后面导入的Dll中也会涵盖这些脚本,这里选择手动导入,是为了方便快速查看和理解代码运行机制,修改代码是为了解决代码脱离程序集内部后的报错问题。)

  3. 点击Source.sln文件打开工程,修改解决程序集类库生成的输出路径,为我们创建Unity工程下的VEngine\Editor\VEngine\Runtime\

  4. 随后在Unity工程中就可以看到导入的类库了

挂载场景脚本

接下来我们需要分别为工程目录下的场景挂载Demo演示脚本

  1. Starup

  2. AutoUpdate

  3. LoadAsset

  4. ManulUpdate

  5. Menu

循环依赖

在UIV目录下创建两个Cube预制体,并挂载AssetReference脚本,在CubeA的脚本中引用CubeB,在CubeB的脚本中引用CubeA。以此来模拟循环依赖的案例。

打包

  1. 建立分组清单

    点击工具菜单栏:XASSET => Gropus,然后在弹出的窗口中点击 Create 按钮,创建一个新的清单,取名为Arts,保存到Manifest文件夹中

  2. 创建分组

    在窗口中右击,Create=>New Group……,而后会在以所在清单名称命名的文件夹下自动创建Bundled

  3. 设置分组下的资源

    首先我们需要右击将该分组,将其重命名为Preload,而后选择工程目录下的ScenesUIV文件夹,拖动到分组名上。而后在Inspector面板中勾选Include In Build选项。(备:该分组用于存放本地资源,勾选Include In Build的分组下的所有资源会在Unity发布包体是一同打入包体中。)

  4. 创建增量迭代更新分组

    而后我们建立迭代更新资源分组,在窗口中右击新建一个分组,然后将UIC文件夹拖动到该分组下。

  5. 构建自动分组

    点击Build下拉菜单的Gropus选项,框架会对我们之前创建的分组下所有资源进行依赖分析,创建一个新的Auto分组

  6. 打包Bundle

    点击Build下拉菜单的Bundles选项,框架会将我们设置好的资源进行打包

  7. 查看打包好的Bundle

    点击View下拉菜单的Buid选项,会自动弹窗到Bundle输出目录

设置资源服务器

  1. 下载hfs,并打开

  2. 将Unity工程目录下的Bundles文件夹(也就是我们上步Bundle的输出目录)拖动到HFS工具内,点击Real folder建立服务器

  3. 校验服务器是否设置成功,只需要将HFS工具的地址复制到浏览器中能正常打开即为成功。

运行Demo

  1. 配置启动配置

    打开Startup场景,修改场景中Statup对象挂载Startup脚本的参数。将下载地址替换为HFS工具中的地址,再将加载的配置清单名称修改为我们开始创建的清单名MyManifest

  2. 设置关键字短链接

    在Statup对象上添加AddressableByName组件,并添加一下参数(正常来说,加载物体需要输入该对象在Asset路径下的地址,例如Assets/Arts/Prefabs/UIC/Components2_V2.prefab,但,我们在这里设置短链接后,加载物体只需要输入Components2_V2)。

  3. 运行模式

    • Simulation模式,走本地资源加载,可跳过打包,但任然需要分组操作

    我们可以在编辑器窗口中下拉选择当前的资源加载模式,首先我们以Simulation模式运行,启动场景Startup

    正常运行后,效果如下。注意Clear在当前模式下没用,点击后报错属于正常情况

    可以点击Load来加载不同的功能演示场景。点击Menu,返回当前菜单场景。

    Additive点击后可以重复加载多个场景,点击Unload可以卸载单个场景

    • Preload模式

    当前模式下加载ManualUpdate可以在左上角,看到当前从服务器下载资源的进度。点击Clear,可以清空已下载的资源。

    • Incremental模式

    在运行前,我们需要将本地资源(勾选了Include In Build的资源)拷贝到StreamingAssets目录下,以此来模拟移动端的资源加载效果。直接在Buld下拉菜单下点击Copy To StreamingAssets。再运行场景。

Licensed under CC BY-NC-SA 4.0
0