wechat-miniprogram / minigame-unity-webgl-transform

Wechat Mini Game Unity engine adapter documents.
https://wechat-miniprogram.github.io/minigame-unity-webgl-transform/
MIT License
2.96k stars 456 forks source link

微信小游戏真机关闭调试模式,无法使用Addressable加载CDN的AB包 #1

Closed Jinngoo closed 3 years ago

Jinngoo commented 3 years ago

打开调试模式一切正常,关闭后等到调用Addressables.LoadAssetAsync(...)时: RemoteProviderException: TextDataProvider : Unable to load from url : https:xxx/StreamingAssets/aa/settings.json UnityWebRequest result: Unknown Error 微信后台的合法域名已配置(其实用的云开发,配置不配置都一样),webgl.data.unityweb.bin.txt等都正常加载,因为已经进入了游戏,只有Addressables无法使用。

另外还有个其他问题不知何解,加载远程天空盒材质(6面)并设置后,天空以及场景都变黑,几乎看不见,调用DynamicGI.UpdateEnvironment()也无果,打印出材质的属性也都正常。在电脑网页上进入webgl版是没有问题的,微信小游戏真机则不行。

Oooocean commented 3 years ago
  1. 如果调试模式没问题则很大可能是由于安全域名配置问题。要注意代码访问的是https则安全域名也应该是https,addressable地址需配置到Request安全域名。
  2. 天空盒问题能否提供能重现问题的Unity工程,或添加”小游戏研发助手“ 进一步排查。
Jinngoo commented 3 years ago

1.合法域名没问题,做了多年微信小游戏了放心。你可能没看清我的问题,只有Addressables无法访问网络,其他的如webgl.data.unityweb.bin.txt都没问题,都是放在同一个CDN下的。 2.空项目就可以,默认天空盒留空,然后动态加载并设置天空盒,pc、网页都正常,只有微信小游戏真机测试黑屏。 3.另外微信开发者工具无法调试,画面被放大n倍,导致屏幕只能显示出画面左上角的n分之一,可能六分之一或八分之一的样子。真机画面显示正常。

  1. unity版本:2019.4.27f1c1 测试工程文件链接:https://pan.baidu.com/s/1Y2GcmV4IdCmzd5rT8Nz3fA 提取码:qoly
Oooocean commented 3 years ago
  1. 确实会有个下载方式不统一的问题,data是使用downloadFile下载,bundle是request, 因此需要在两种域名下都添加CDN域名。我们会后续优化。使用附件工程后可以在不调试状态下正确下载bundle. 转换后Android真机(小米9)截图: 1261625727638_ pic

  2. 如上图,天空盒并没有呈现黑屏,请告知具体机型

  3. 微信开发者工具请告知具体版本与操作系统 以下为Mac 稳定版 Stable Build (1.05.2106300),旧版本存在机型屏幕适配尺寸问题,建议使用最新的稳定版。 image

  4. 导出后的工程文件

wxgame_aatest.zip

Jinngoo commented 3 years ago

升级微信开发者工具(1.05.2106300)后,调试正常,但是真机还是黑屏。小米10 a71fb313691db3d76c73b895811ff4c

Oooocean commented 3 years ago
  1. 请问使用我导出的小游戏包在真机体验也会变黑么?
  2. 真机环境是否有错误日志输出?
Jinngoo commented 3 years ago

哦,刚才忘了试了,你导出的包是可以的。

Wechat Lib:2.18.0, 2021.7.1 17:23:11
wxClient: plugin wxe5a48f1ed5f544b7 inject success!
[PLUGIN LOG] 资源有缓存
[PLUGIN LOG] 开始下载wasm代码包
[PLUGIN LOG] 通过CDN加载资源 734203265a3529b2.webgl.data.unityweb.bin.txt
[PLUGIN LOG] 从缓存加载首包资源
[PLUGIN TIME LOG] 读取资源文件: 0.02s
Initialize engine version: 2019.4.27f1c1 (2b8c080c2117)
Creating WebGL 1.0 context.
Renderer: WebGL 1.0(OpenGL ES 3.2)
Vendor:   WebGL 1.0(OpenGL ES 3.2)
Version:  OpenGL ES 2.0 (WebGL 1.0(OpenGL ES 3.2))
GLES:     2
Wechat Lib:2.18.0, 2021.7.1 17:23:11
wxClient: plugin wxe5a48f1ed5f544b7 inject success!
[PLUGIN LOG] 资源有缓存
[PLUGIN LOG] 开始下载wasm代码包
[PLUGIN LOG] 通过CDN加载资源 734203265a3529b2.webgl.data.unityweb.bin.txt
[PLUGIN LOG] 从缓存加载首包资源
[PLUGIN TIME LOG] 读取资源文件: 0.02s
[PLUGIN TIME LOG] 下载wasm代码包: 0.03s
[PLUGIN TIME LOG] wasm编译耗时: 0.19s
[PLUGIN WARN] IndexedDB is not available. Data will not persist in cache and PlayerPrefs will not be saved.
[PLUGIN TIME LOG] 解析资源: 0.01s
Loading player data from data.unity3d
Initialize engine version: 2019.4.27f1c1 (2b8c080c2117)
Creating WebGL 1.0 context.
Renderer: WebGL 1.0(OpenGL ES 3.2)
Vendor:   WebGL 1.0(OpenGL ES 3.2)
Version:  OpenGL ES 2.0 (WebGL 1.0(OpenGL ES 3.2))
GLES:     2
 EXT_texture_filter_anisotropic GL_EXT_texture_filter_anisotropic OES_texture_half_float GL_OES_texture_half_float WEBGL_compressed_texture_etc1 GL_WEBGL_compressed_texture_etc1 OES_texture_float_linear GL_OES_texture_float_linear OES_standard_derivatives GL_OES_standard_derivative
ERROR: Shader 
Hidden/Universal Render Pipeline/BokehDepthOfField shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
ERROR: Shader 
Hidden/Universal Render Pipeline/GaussianDepthOfField shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
UnloadTime: 0.000000 ms
Awake 
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 39)

[PLUGIN TIME LOG] callMain耗时: 0.42s
[PLUGIN TIME LOG] 游戏启动耗时: 0.82s
Input Manager initialize...
Start 
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 39)

我导出的包用其他手机也黑屏,你的包确没问题

Jinngoo commented 3 years ago

Wechat.zip 另外这是我导出的工程,其他问题没有了。 这问题看来也不是必现,如果有思路分享下最好了,目前也没啥影响,十分感谢。

Oooocean commented 3 years ago

不确定是否和Unity版本有关,导出包用的是Unity 2019.4.14,其余没有做特殊设置。

Jinngoo commented 3 years ago

总结下: 升级微信开发者工具后,只剩天空盒问题。 天空盒问题不是必现,有待尝试。 issue可以关闭了,多谢反馈与帮助!