环境配置
目录:
建立Unity运行工程
-
建立Unity工程,取名为xasset-example
-
下载示例资源,群文件搜索ExampleDemo.unitypackage(注意,仅供学习使用,请勿商用),导入Unity中。
建立XAsset类库工程
-
下载XAsset6.* 的源码,下载地址见官方群公告。下载后,会得到一个C#的类库工程。
-
将类库工程目录下的
VEngine\Classes\Examples
文件夹剪贴到Unity工程目录下,VEngine\Classes\Startup.cs
脚本文件复制到Unity工程目录下,文件夹内的脚本为演示加载Demo用。随后修改类库中VEngine\Classes\Loadables\Loadable.cs
脚本内的pathOrURL
属性的访问权限为public
(这步骤非必要的,因为后面导入的Dll中也会涵盖这些脚本,这里选择手动导入,是为了方便快速查看和理解代码运行机制,修改代码是为了解决代码脱离程序集内部后的报错问题。) -
点击Source.sln文件打开工程,修改解决程序集类库生成的输出路径,为我们创建Unity工程下的
VEngine\Editor\
和VEngine\Runtime\
-
随后在Unity工程中就可以看到导入的类库了
挂载场景脚本
接下来我们需要分别为工程目录下的场景挂载Demo演示脚本
循环依赖
在UIV目录下创建两个Cube预制体,并挂载AssetReference
脚本,在CubeA的脚本中引用CubeB,在CubeB的脚本中引用CubeA。以此来模拟循环依赖的案例。
打包
-
建立分组清单
点击工具菜单栏:XASSET => Gropus,然后在弹出的窗口中点击 Create 按钮,创建一个新的清单,取名为Arts,保存到Manifest文件夹中
-
创建分组
在窗口中右击,Create=>New Group……,而后会在以所在清单名称命名的文件夹下自动创建Bundled
-
设置分组下的资源
首先我们需要右击将该分组,将其重命名为Preload,而后选择工程目录下的
Scenes
与UIV
文件夹,拖动到分组名上。而后在Inspector面板中勾选Include In Build
选项。(备:该分组用于存放本地资源,勾选Include In Build
的分组下的所有资源会在Unity发布包体是一同打入包体中。) -
创建增量迭代更新分组
而后我们建立迭代更新资源分组,在窗口中右击新建一个分组,然后将
UIC
文件夹拖动到该分组下。 -
构建自动分组
点击
Build
下拉菜单的Gropus
选项,框架会对我们之前创建的分组下所有资源进行依赖分析,创建一个新的Auto
分组 -
打包Bundle
点击
Build
下拉菜单的Bundles
选项,框架会将我们设置好的资源进行打包 -
查看打包好的Bundle
点击
View
下拉菜单的Buid
选项,会自动弹窗到Bundle输出目录
设置资源服务器
-
下载hfs,并打开
-
将Unity工程目录下的
Bundles
文件夹(也就是我们上步Bundle的输出目录)拖动到HFS工具内,点击Real folder
建立服务器 -
校验服务器是否设置成功,只需要将HFS工具的地址复制到浏览器中能正常打开即为成功。
运行Demo
-
配置启动配置
打开Startup场景,修改场景中Statup对象挂载Startup脚本的参数。将下载地址替换为HFS工具中的地址,再将加载的配置清单名称修改为我们开始创建的清单名
MyManifest
-
设置关键字短链接
在Statup对象上添加
AddressableByName
组件,并添加一下参数(正常来说,加载物体需要输入该对象在Asset路径下的地址,例如Assets/Arts/Prefabs/UIC/Components2_V2.prefab
,但,我们在这里设置短链接后,加载物体只需要输入Components2_V2
)。 -
运行模式
- Simulation模式,走本地资源加载,可跳过打包,但任然需要分组操作
我们可以在编辑器窗口中下拉选择当前的资源加载模式,首先我们以Simulation模式运行,启动场景Startup。
正常运行后,效果如下。注意Clear在当前模式下没用,点击后报错属于正常情况
可以点击Load来加载不同的功能演示场景。点击Menu,返回当前菜单场景。
Additive点击后可以重复加载多个场景,点击Unload可以卸载单个场景
- Preload模式
当前模式下加载ManualUpdate可以在左上角,看到当前从服务器下载资源的进度。点击Clear,可以清空已下载的资源。
- Incremental模式
在运行前,我们需要将本地资源(勾选了
Include In Build
的资源)拷贝到StreamingAssets目录下,以此来模拟移动端的资源加载效果。直接在Buld下拉菜单下点击Copy To StreamingAssets。再运行场景。