乐趣区

Unity趟坑问题汇总

在使用 Unity 引擎开发的过程中总会遇到各种各样的问题,有些问题很坑,只有遇到的才懂,为了避免以后自己再被同一块石头绊倒,特意在此做个整理,希望能给大家节省一些时间,有同样遇到坑的小伙伴也可以把问题或解决方法写在楼下,以供其他小伙伴参考。趟过的坑会持续整理。
C# 的坑
JsonUtility 转数组 BUG 现象:
string json = “[1, 2, 3]”;
int[] array = JsonUtility.FromJson<int[]>(json); // 报错

解决: https://segmentfault.com/a/11…
Android 的坑
IL2CPP 发布失败现象:Failed running:C:…/il2cpp.exe –convert-to-cppException:C:…/il2cpp.exe did not run property!
解决:升级 Unity 版本 (虽然没从根本上解决问题 但是升级一个小版本就发布成功了 版本的嫌疑最大)
IOS 的坑
IOS 上 Animator 动画系统不好使了现象:IOS 系统上 所有 Animator 的动画全不播放了 其他 Tween 动画和粒子动画正常 Animaton 的播放不了 资源是 AssetBundle 动态加载的
解决:发布设置中的 StripEngineCode = false
原因:StripEngineCode 启用该选项时 会剥离无用的代码 导致该问题官方说明:https://docs.unity3d.com/Scri…
说明翻译: 如果启用了该功能,那么在 IL2CPP 构建中,将删除 Unity 引擎代码库中未使用的模块和类。这将导致更小的二进制大小。建议使用此设置,然而,如果您怀疑这会导致项目出现问题,您也许想禁用它。注意,为 IL2CPP 脚本后端托管程序集的字节代码剥离是始终启用的。
SLua 的坑
Vector2 不能被除现象:touch.deltaPosition / 2 会导致代码报错 程序无法运行 因为 slua 不支持 Vector2 的除法 Vector3 的支持 这个坑我也是醉了 做触点识别的时候趟出来的坑
解决:x、y 分别除

退出移动版