本文已参与「新人创作礼」活动,一起开启掘金创作之路。
0、摘要
Unity开发过程中遇到的一些坑以及版本Bug,分享一下,让大家的路更好走。
1、版本Bug
1.1 Unity5.3.6
Bug详情:
InputFiled与ScrollView公用,选中状态及光标可以在遮挡区外显示。
解决方案:
换高版本即可(忘记具体从哪个版本修复的了,5.6肯定是没问题的)。
1.2 Unity2017.4.21
Bug详情:
2017打包WebGL对MeshCollider支持极差,点击触发时检测不到。
解决方案:
(1)勾选闭合或选用其它碰撞器;
(2)升级到2018或更高版本。
1.3 Unity2018.2.8
Bug详情:
InputFiled部分中文无法输入。
解决方案:
升级版本,好像是2018.2.10修复的,2018.2.21没问题。
1.4 Unity2018.3及2018.4
Bug详情:
不支持Blend Shape。
解决方案:
升级版本。
2、WebGL问题
2.1 不支持中文输入
需要用js写输入功能。
2.1 不支持Microphone类
需要用js写录音功能,数据传回Unity或上传服务器。
3、其他注意点
3.1 物体旋转后变形问题
引起原因一般是父物体存在缩放,所以解决方案也很明显:可以在原有的父子物体间套一层,这一层的缩放xyz与父物体相乘为同一数值即可,例如父物体的缩放为(1,2,1),那么中间层的缩放可以为(1,0.5,1)。
3.2 打开网页问题
对于PC端而言,打开只需要:
Application.OpenURL(pathURL);
(pathURL为网址),但若发布为Web版本,则该方法并不适用。
便可以用下面方法来解决,_self的意思是在当前页面打开。
Application.ExternalEval("window.open('http://math.xpu.owvlab.net/virexp/s/exp/20177261.exe','_self')");
具体使用:
_blank 浏览器会另开一个新窗口显示链接
_self,在同一框架或窗口中打开所链接的文档。此参数为默认值,通常不用指定。
_parent,将链接的文件载入含有该链接框架的父框架集或父窗口中。如果含有该链接的框架不是嵌套的,则在浏览器全屏窗口中载入链接的文件,就象_self参数一样。
_top,在当前的整个浏览器窗口中打开所链接的文档,因而会删除所有框架
_search 在浏览器的搜索区装载文档,注意,这个功能只在Internet Explorer 5 或者更高版本中适用。