JasonXuDeveloper / JEngine

The solution that allows unity games to update in runtime. 使Unity开发的游戏支持热更新的解决方案。
https://docs.xgamedev.net/
MIT License
2k stars 332 forks source link

webgl平台热更新资源远程加载问题 #471

Closed hhxiaohei closed 1 year ago

hhxiaohei commented 1 year ago

平台:webgl 版本:unity 2020 lts

image

代码:此github演示项目

热更新资源打包后放在本地http服务器,可正常访问,地址http://127.0.0.1:5500/Bundles/WebGL/Main/,如图

image

init项目配置按远程如图

image

打包配置如图

image

运行后,报错如图

Failed to get asset bundle from web : /Users/mike/Documents/Code/u3d/JEngine/UnityProject/Assets/StreamingAssets/BuildinFiles/3d52140958b83a98ad2383d6e87f0d77.bundle Error : Cannot connect to destination host
image

但是切换到Mac平台又一切正常

hhxiaohei commented 1 year ago

配置的远程读取,为什么报错是从StreamingAssets读取?很奇怪

gmhevinci commented 1 year ago

Failed to get asset bundle from web : /Users/mike/Documents/Code/u3d/JEngine/UnityProject/Assets/StreamingAssets/BuildinFiles/3d52140958b83a98ad2383d6e87f0d77.bundle Error : Cannot connect to destination host 这个错误提示你连接本地主机失败了。在offline play mode模式下,打包测试时没问题的。如果是从CDN下载资源文件,需要WEB服务器解决跨域下载的问题。

JasonXuDeveloper commented 1 year ago

Failed to get asset bundle from web : /Users/mike/Documents/Code/u3d/JEngine/UnityProject/Assets/StreamingAssets/BuildinFiles/3d52140958b83a98ad2383d6e87f0d77.bundle Error : Cannot connect to destination host 这个错误提示你连接本地主机失败了。在offline play mode模式下,打包测试时没问题的。如果是从CDN下载资源文件,需要WEB服务器解决跨域下载的问题。

OfflinePlayModeParameters在编辑器下不应该直接请求对应的StreamingAssets的文件吗,但是对应文件是存在的,不知道为什么要在编辑器下用web请求访问本地文件

gmhevinci commented 1 year ago

明白了。我这边切换到WEBGL平台,然后再编辑器下测试下offline play mode模式。

hhxiaohei commented 1 year ago

明白了。我这边切换到WEBGL平台,然后再编辑器下测试下offline play mode模式。

测试过 报错提示是从web加载的,应该走io加载 074b6783f1c0ed9aadd1e9a8798c37d8

gmhevinci commented 1 year ago

编辑器切换到web gl平台,然后offline play mode 和 host play mode都测试过,没什么问题。你可以尝试把streamgAssets目录清空看看

hhxiaohei commented 1 year ago

https://github.com/tuyoogame/YooAsset/issues/115 参考此链接解决