Mac mini M1 2020 升级到 MacOS Ventura 13.3.1, Unity 2017/2018不能用了
一时手贱把Mac Mini M1 2020升级到了最新的 MacOS Ventura 13.3.1, 发现Unity 2017/2018不能用了,启动黑屏并且一直卡在黑屏。
原因为:Unity versions prior to 2019.4
do not support running on Apple Silicon (M1) devices, and therefore, Unity 2017 will not work on your Mac mini M1. Unity 2019.4 or later versions have added support for running on Apple Silicon (M1) devices. M1所采用的芯片有不同的指令体系,unity2017/2018在M1出来之前就存在了,对此不支持。而MacOS 12.6自带有rosetta,可以转换指令体系,但该功能在MacOS 13.3.1上应该没有了。
尝试安装Rosetta 2,未成功安装,安装不上:
softwareupdate --install-rosetta
或者尝试`arch –x86_64`运行unity程序,亦失败了:
arch -x86_64 /Application/Unity.app/Contents/MacOS/unity
之前安装的VSCode还能用,选择VSCode右键选择`显示简介`里有`Open by rosetta`选项,但是unity2017和unity2018均没有该选项。
简单搜索下,有不少博主、创作者都不建议立即更新苹果新推出的操作系统。新系统往往会带来很多软件和硬件上的兼容性问题。比如MasOS 11或12就要求其所装软件必须为64位的,而那些32位的软件就不能正常工作了。这个软件的更新过程大约需要一年左右的时间才能完成。现在的MacOS 13.x 也将面对同样的问题,所谓新系统那些花狸狐哨的新功能对大多数的开发者和创作者而言只是鸡肋。
对于目前的问题,可以采用降级操作系统或者升级软件来解决。采用usb boot方式来安装MacOS 12.6!把Unity升级到2019.4/2020。
升级Unity也就意味着需要升级Unity项目,这当中就有许多问题需要解决。比如从2019开始UGUI就不再是内置的UI组件了,而是放到package manager中了,因此你会发现ui上绑定的脚本都丢失了;这些都是比较容易解决的内容。有些升级内容就不那么好解决了。比如采用WheelCollider的赛车游戏从unity4升级到unity5,这两个版本之间车体物理改动太大了,对比下摩擦力的默认参数就能看出来了。这个升级过程就比较痛苦了,花费很长时间就是不能调到原来的效果,这时就直接放弃了。当然如果车体物理采用的是软物理的实现方式就不会有这个问题了。所谓软物理就是根据力学公式以及受力大小、加速度等实现一个车辆物理库,相当于实现了一套类似WheelCollider功能的库。