Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BIG_BUG644
minigame-unity-webgl-transform
提交
5c2b1c6f
M
minigame-unity-webgl-transform
项目概览
BIG_BUG644
/
minigame-unity-webgl-transform
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
minigame-unity-webgl-transform
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
5c2b1c6f
编写于
11月 08, 2022
作者:
刘
刘昕禹
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: Question add title link
上级
74523c31
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
56 addition
and
28 deletion
+56
-28
Design/DevelopmentQAList.md
Design/DevelopmentQAList.md
+56
-28
未找到文件。
Design/DevelopmentQAList.md
浏览文件 @
5c2b1c6f
# 技术常见问题QA
# 技术常见问题QA
## 工具使用
## 工具使用
1.
#### 微信开发者工具打开时提示“app.json未找到”
#### 1.微信开发者工具打开时提示“app.json未找到”
-
请注册小程序appid,并申请为小游戏服务类目
-
请注册小程序appid,并申请为小游戏服务类目
-
请参考
[
小游戏开发者文档-注册一个小游戏帐号
](
https://developers.weixin.qq.com/minigame/dev/guide
)
-
请参考
[
小游戏开发者文档-注册一个小游戏帐号
](
https://developers.weixin.qq.com/minigame/dev/guide
)
2.
#### 微信开发者工具打开时提示“找不到game.json或读取错误”
#### 2.微信开发者工具打开时提示“找不到game.json或读取错误”
-
打开导出目录/minigame文件夹而不是导出的根目录
-
打开导出目录/minigame文件夹而不是导出的根目录
3.
#### 如何在真机上预览游戏
#### 3.如何在真机上预览游戏
-
请使用微信开发者工具-预览-二维码/自动预览
-
请使用微信开发者工具-预览-二维码/自动预览
-
切忌不要使用微信开发者工具的"真机调试"功能
-
切忌不要使用微信开发者工具的"真机调试"功能
4.
#### 如何在真机上进行调试和错误日志排查
#### 4.如何在真机上进行调试和错误日志排查
-
方式1:game.js增加代码"wx.setEnableDebug({enableDebug: true})"
-
方式1:game.js增加代码"wx.setEnableDebug({enableDebug: true})"
-
方式2:真机环境中,右上角"..."-打开调试-重启小游戏-vconsole
-
方式2:真机环境中,右上角"..."-打开调试-重启小游戏-vconsole
-
上述方法之后,若启动封面无法打开vconsole, 请点三次下方的"unity logo"
-
上述方法之后,若启动封面无法打开vconsole, 请点三次下方的"unity logo"
-
错误日志中的业务代码堆栈分析可参考文档
[
开发错误调试与排查
](
DebugAndException.md
)
-
错误日志中的业务代码堆栈分析可参考文档
[
开发错误调试与排查
](
DebugAndException.md
)
5.
#### Unity PlayerSettings导出选项中使用"brotli"或"gzip", 使用微信开发者工具无法启动游戏
#### 5.Unity PlayerSettings导出选项中使用"brotli"或"gzip", 使用微信开发者工具无法启动游戏
-
请勿修改PlayerSettings的压缩选项,保持为不压缩
-
请勿修改PlayerSettings的压缩选项,保持为不压缩
-
转换工具对代码包自动进行br压缩
-
转换工具对代码包自动进行br压缩
-
资源包请使用CDN gzip/br, 传输大小与zip压缩后体积相当
-
资源包请使用CDN gzip/br, 传输大小与zip压缩后体积相当
6.
#### 使用代码分包的情况下,启动游戏出现“首次拉取代码分包”提示
#### 6.使用代码分包的情况下,启动游戏出现“首次拉取代码分包”提示
-
原因是收集函数不够完备,查看分包工具是否有新收集函数,重新生成一轮即可
-
原因是收集函数不够完备,查看分包工具是否有新收集函数,重新生成一轮即可
-
该提示仅在开发版本提示,代表在“引擎+业务首场景”初始化时遇到了缺失函数
-
该提示仅在开发版本提示,代表在“引擎+业务首场景”初始化时遇到了缺失函数
7.
#### 微信开发者工具提示"资源下载失败"
#### 7.微信开发者工具提示"资源下载失败"
-
请将首资源包放CDN或HTTP服务器,并正确设置导出面板的“游戏资源CDN“
-
请将首资源包放CDN或HTTP服务器,并正确设置导出面板的“游戏资源CDN“
8.
#### 微信开发者工具能正常打开游戏,但Android卡在首屏,资源下载失败
#### 8.微信开发者工具能正常打开游戏,但Android卡在首屏,资源下载失败
-
请参考文档
[
网络通信适配
](
UsingNetworking.md#注意事项
)
,尤其关注安全域名、跨域与SSL证书等问题
-
请参考文档
[
网络通信适配
](
UsingNetworking.md#注意事项
)
,尤其关注安全域名、跨域与SSL证书等问题
9.
#### 开发者工具提示“插件申请成功,待审核确认”
#### 9.开发者工具提示“插件申请成功,待审核确认”
-
请前往mp后台-能力地图-生产提效包-快适配,开通使用。参考指引
[
转换工具导出微信小游戏
](
Transform.md
)
-
请前往mp后台-能力地图-生产提效包-快适配,开通使用。参考指引
[
转换工具导出微信小游戏
](
Transform.md
)
## Unity WebGL
## Unity WebGL
1.
#### 能否使用System.Net命名空间下的接口
#### 1.能否使用System.Net命名空间下的接口
-
不行,WebGL导出时网络需要进行改造适配,请参考文档
[
网络通信适配
](
UsingNetworking.md
)
-
不行,WebGL导出时网络需要进行改造适配,请参考文档
[
网络通信适配
](
UsingNetworking.md
)
2.
#### 小游戏启动出现"Unable to load DLL ...."
#### 2.小游戏启动出现"Unable to load DLL ...."
-
WebGL模式不允许加载非源码编译的插件,需游戏自行排查
-
WebGL模式不允许加载非源码编译的插件,需游戏自行排查
-
典型地,如System.Net、lua外部模块、某些依赖平台的第三方插件
-
典型地,如System.Net、lua外部模块、某些依赖平台的第三方插件
3.
#### 能否使用System.File相关接口做文件存储
#### 3.能否使用System.File相关接口做文件存储
-
如果是资源(比如AssetBundle)需要进行缓存, 适配插件已自动完成,注意bundle命名规则和缓存策略即可,请参考文档
[
资源部署与缓存
](
DataCDN.md
)
-
如果是资源(比如AssetBundle)需要进行缓存, 适配插件已自动完成,注意bundle命名规则和缓存策略即可,请参考文档
[
资源部署与缓存
](
DataCDN.md
)
-
如果是玩家存档,可使用C# SDK中的小游戏存储接口。此外,更建议使用服务器或云开发进行定期存储,因为微信用户更容易删除小程序,文件存储将随之被删除。
-
如果是玩家存档,可使用C# SDK中的小游戏存储接口。此外,更建议使用服务器或云开发进行定期存储,因为微信用户更容易删除小程序,文件存储将随之被删除。
4.
#### 如何接入第三方的js sdk, 能写js脚本和C#进行交互吗?
#### 4.如何接入第三方的js sdk, 能写js脚本和C#进行交互吗?
-
可以,请参考我们提供的C# SDK写法,原理也是利用到了JS与C#互通的特性。具体方式请参考Unity官方文档
[
Interaction with browser scripting
](
https://docs.unity3d.com/cn/2021.3/Manual/webgl-interactingwithbrowserscripting.html
)
-
可以,请参考我们提供的C# SDK写法,原理也是利用到了JS与C#互通的特性。具体方式请参考Unity官方文档
[
Interaction with browser scripting
](
https://docs.unity3d.com/cn/2021.3/Manual/webgl-interactingwithbrowserscripting.html
)
5.
#### 小游戏的中文字体不显示,但Editor没问题
#### 5.小游戏的中文字体不显示,但Editor没问题
-
WebGL环境下的中文字体需要打包(首资源包或Bundle),无法使用操作系统字体
-
WebGL环境下的中文字体需要打包(首资源包或Bundle),无法使用操作系统字体
6.
#### 游戏逻辑是否能使用lua
#### 6.游戏逻辑是否能使用lua
-
可以,但具体性能需自己实际评测,请参照
[
Demo
](
https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/tree/main/Demo
)
示例。
-
可以,但具体性能需自己实际评测,请参照
[
Demo
](
https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/tree/main/Demo
)
示例。
-
lua可使用AssetBundle方式整体打包,require时使用bundle.LoadAsset同步接口获取脚本
-
lua可使用AssetBundle方式整体打包,require时使用bundle.LoadAsset同步接口获取脚本
7.
#### Touch事件丢失或错误,导致多点触控不正确
#### 7.Touch事件丢失或错误,导致多点触控不正确
-
请将WXTouchInputOverride.cs附加到EventSystem对象上,已测试EasyTouch、UGUI、FairGUI可正常工作
-
请将WXTouchInputOverride.cs附加到EventSystem对象上,已测试EasyTouch、UGUI、FairGUI可正常工作
-
NGUI、FairGUI等UI组件内部实现(如NGUI的UICamera.cs)判断touch id<0逻辑分支需删除;在iOS高性能模式下,id可为负数。
-
NGUI、FairGUI等UI组件内部实现(如NGUI的UICamera.cs)判断touch id<0逻辑分支需删除;在iOS高性能模式下,id可为负数。
8.
#### 显示黑屏,运行提示大量shader编译错误
#### 8.显示黑屏,运行提示大量shader编译错误
-
默认导出未webgl1, 请确认游戏是否依赖webgl2(opengles3.0)
-
默认导出未webgl1, 请确认游戏是否依赖webgl2(opengles3.0)
-
导出选项勾选webgl2实验能力
-
导出选项勾选webgl2实验能力
9.
#### Unity FMOD音频插件是否支持?
#### 9.Unity FMOD音频插件是否支持?
-
不支持,Unity WebGL在浏览器环境以WebAudio适配,并非原生的FMOD,因此FMOD插件也是不支持的。
-
不支持,Unity WebGL在浏览器环境以WebAudio适配,并非原生的FMOD,因此FMOD插件也是不支持的。
10.
#### Mac 系统下 Unity 构建 WebGL 项目报
`Failed running "../il2cppcore/il2cppcore.dll"`
错误解决办法
#### 10.Mac 系统下 Unity 构建 WebGL 项目报`Failed running "../il2cppcore/il2cppcore.dll"`错误解决办法
-
报错原因:Unity 2020及以前(如2019)版本构建 WebGL 仍然需要 Python2 ,而Mac OS 12.3版本起已经不再内置 Python2。
-
报错原因:Unity 2020及以前(如2019)版本构建 WebGL 仍然需要 Python2 ,而Mac OS 12.3版本起已经不再内置 Python2。
-
一种解决办法:
-
一种解决办法:
...
@@ -81,27 +100,36 @@
...
@@ -81,27 +100,36 @@
其中 Python 路径请自行检查,若由步骤(1)方式安装的一般无需改动,至此问题解决。
其中 Python 路径请自行检查,若由步骤(1)方式安装的一般无需改动,至此问题解决。
11.
#### 引擎代码裁剪级别(Managed Striping Level)应该如何设置?
#### 11.引擎代码裁剪级别(Managed Striping Level)应该如何设置?
-
建议勾选并设置为High, 如果发现部分代码被错误裁剪,请参考
[
托管代码剥离
](
https://docs.unity.cn/cn/2019.4/Manual/ManagedCodeStripping.html
)
-
建议勾选并设置为High, 如果发现部分代码被错误裁剪,请参考
[
托管代码剥离
](
https://docs.unity.cn/cn/2019.4/Manual/ManagedCodeStripping.html
)
## 平台适配
## 平台适配
1.
#### 文本输入框点击无法输入,没有弹出输入法
#### 1.文本输入框点击无法输入,没有弹出输入法
-
请参考小游戏输入法API进行适配
-
请参考小游戏输入法API进行适配
2.
#### 高性能模式下iOS无法加载,但Android和微信开发者工具没问题
#### 2.高性能模式下iOS无法加载,但Android和微信开发者工具没问题
-
请参考文档
[
iOS高性能模式
](
iOSOptimization.md
)
QA部分
-
请参考文档
[
iOS高性能模式
](
iOSOptimization.md
)
QA部分
3.
#### Android运行达到满帧较为流畅,iOS性能差
#### 3.Android运行达到满帧较为流畅,iOS性能差
-
请参考文档
[
iOS高性能模式
](
iOSOptimization.md
)
概述部分
-
请参考文档
[
iOS高性能模式
](
iOSOptimization.md
)
概述部分
4.
#### 小游戏中能插入超链接跳转网页吗?
#### 4.小游戏中能插入超链接跳转网页吗?
-
不行,不提供内嵌webview或跳转的能力
-
不行,不提供内嵌webview或跳转的能力
5.
#### 小游戏是否支持Unity Video
#### 5.小游戏是否支持Unity Video
-
不行,小游戏支持视频播放能力,但暂无法与Unity元素进行融合。请参考
[
小游戏开发者文档
](
https://developers.weixin.qq.com/minigame/dev/api/media/video/wx.createVideo.html
)
-
不行,小游戏支持视频播放能力,但暂无法与Unity元素进行融合。请参考
[
小游戏开发者文档
](
https://developers.weixin.qq.com/minigame/dev/api/media/video/wx.createVideo.html
)
6.
#### 为什么使用Application.targetFrameRate无法限帧率?安卓左上角帧率不对
#### 6.为什么使用Application.targetFrameRate无法限帧率?安卓左上角帧率不对
-
Application.targetFrameRate默认使用timer控制帧率,会导致不平滑,定时不精确
-
Application.targetFrameRate默认使用timer控制帧率,会导致不平滑,定时不精确
-
请更换接口WX.SetPreferredFramesPerSecond限制小游戏
-
请更换接口WX.SetPreferredFramesPerSecond限制小游戏
7.
#### Unity Audio音频是否需要使用小游戏音频适配
#### 7.Unity Audio音频是否需要使用小游戏音频适配
-
转换方案已通过WebAudio支持Unity音频,通常无需替换
-
转换方案已通过WebAudio支持Unity音频,通常无需替换
-
游戏中BGM等长音频建议使用小游戏音频,因为后者占用的内存更小
-
游戏中BGM等长音频建议使用小游戏音频,因为后者占用的内存更小
8.
#### PlayerPref或用户数据存储失效
#### 8.PlayerPref或用户数据存储失效
-
使用小程序云开发或自建服务器进行云端存储(推荐,因本地存储的话,由于微信环境下玩家非常容易删除本地小游戏而导致存档丢失)
-
使用小程序云开发或自建服务器进行云端存储(推荐,因本地存储的话,由于微信环境下玩家非常容易删除本地小游戏而导致存档丢失)
-
使用WX C# SDK提供的PlayerPref进行存储,可以替代已有Unity的PlayerPref。但需要注意该部分数据使用小游戏Storage,有10MB存储上限。 由于接口是同步调用(阻塞游戏线程),不建议频率过高的调用。“存储“请参考https://developers.weixin.qq.com/minigame/dev/guide/base-ability/storage.html。
-
使用WX C# SDK提供的PlayerPref进行存储,可以替代已有Unity的PlayerPref。但需要注意该部分数据使用小游戏Storage,有10MB存储上限。 由于接口是同步调用(阻塞游戏线程),不建议频率过高的调用。“存储“请参考https://developers.weixin.qq.com/minigame/dev/guide/base-ability/storage.html。
-
使用WX C# SDK的文件API进行自行本地存储,他会与游戏资源缓存共用“文件系统”区域,有200MB存储上限,建议使用异步接口以不影响主线程帧率。“文件系统”请参考https://developers.weixin.qq.com/minigame/dev/guide/base-ability/file-system.html。
-
使用WX C# SDK的文件API进行自行本地存储,他会与游戏资源缓存共用“文件系统”区域,有200MB存储上限,建议使用异步接口以不影响主线程帧率。“文件系统”请参考https://developers.weixin.qq.com/minigame/dev/guide/base-ability/file-system.html。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录