4.YooAsset资源系统的运行模式
4.1 知识点
资源系统的运行模式
- 编辑器模拟模式 (EditorSimulateMode)
- 单机运行模式 (OfflinePlayMode)
- 联机运行模式 (HostPlayMode)
- Web运行模式 (WebPlayMode)
- 自定义运行模式 (CustomPlayMode)
编辑器模拟模式 (EditorSimulateMode)
在编辑器下,不需要构建资源包,来模拟运行游戏。直接运行即可。注意该模式只在编辑器下起效
单机运行模式 (OfflinePlayMode)
对于不需要热更新资源的游戏,可以使用单机运行模式。注意该模式需要构建资源包。
复制打包出来的目录下的所有文件到Assets\StreamingAssets\yoo\DefaultPackage目录下
联机运行模式 (HostPlayMode)
对于需要热更新资源的游戏,可以使用联机运行模式。
清空之前复制在流文件夹下的资源
本地模拟开启资源服务器。创建bat 写入 python -m http.server 80
把打好的文件放入CDN 相对路径是 ..\CDN\PC\v1.0
相对路径是 ..\CDN\PC\v1.0 是因为示例代码中写好了这个路径
/// <summary>
/// 获取资源服务器地址
/// </summary>
private string GetHostServerURL()
{
//string hostServerIP = "http://10.0.2.2"; //安卓模拟器地址
string hostServerIP = "http://127.0.0.1";
string appVersion = "v1.0";
#if UNITY_EDITOR
if (UnityEditor.EditorUserBuildSettings.activeBuildTarget == UnityEditor.BuildTarget.Android)
return $"{hostServerIP}/CDN/Android/{appVersion}";
else if (UnityEditor.EditorUserBuildSettings.activeBuildTarget == UnityEditor.BuildTarget.iOS)
return $"{hostServerIP}/CDN/IPhone/{appVersion}";
else if (UnityEditor.EditorUserBuildSettings.activeBuildTarget == UnityEditor.BuildTarget.WebGL)
return $"{hostServerIP}/CDN/WebGL/{appVersion}";
else
return $"{hostServerIP}/CDN/PC/{appVersion}";
#else
if (Application.platform == RuntimePlatform.Android)
return $"{hostServerIP}/CDN/Android/{appVersion}";
else if (Application.platform == RuntimePlatform.IPhonePlayer)
return $"{hostServerIP}/CDN/IPhone/{appVersion}";
else if (Application.platform == RuntimePlatform.WebGLPlayer)
return $"{hostServerIP}/CDN/WebGL/{appVersion}";
else
return $"{hostServerIP}/CDN/PC/{appVersion}";
#endif
}
运行bat,开启服务器
网页打开 http://localhost/CDN/PC/v1.0/ 可以看到资源
把之前打好的version文件和bytes文件放回流文件夹 这是提供当前版本号 为了对比服务器版本号的
修改未联网模式,打PC包并运行,可以模拟联网下载游玩
修改UIHome 比如标题加上Tao前缀 加个按钮叫Tao
重新构建资源
复制新构建的资源到..\CDN\PC\v1.0目录下
重新运行打的PC包,可以看到检查到资源更新需要下载资源。下载后可以看到更新后的Tao,至此完成资源热更新
Web运行模式 (WebPlayMode)
查看官方文档,略
自定义运行模式 (CustomPlayMode)
查看官方文档,略
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com