Unity踩坑记录

345 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

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 或者更高版本中适用。