前言
庄生晓梦迷蝴蝶,望帝春心托杜鹃
废话
去年苹果发布会上,推出了Vision Pro这一款XR产品。并且宣布Unity作为其主要合作伙伴,负责开发XR的开发产品。
这消息一出,当晚Unity的股价直接被熔断。产品发布之后,一直等到最近Vision Pro的产品开始正式发布,并且Unity的开发套件陆续发布,也让我们见到了Vision Pro的庐山真面目。
我相信有很多小伙伴都想去尝试Vision pro的开发,但是碍于Vision Pro的高昂的成本,迟迟没有行动。还好Apple给我们提供了Vision Pro Simulator。使得我们可以在近乎0成本的平台上进行开发。
准备
- M芯片的苹果电脑, M1,M2都可以,Pro和Air都行。不要以开发为借口升级电脑。
- Unity 2022.3以后的LTS版本。
- Unity Pro License
- Mac os 14以上,Xcode 15以上。
注意,需要Unity Pro授权。这一步你可以找你的朋友借,或者找官方买。
开始开发
下载Unity
一开始开发,建议直接选择最新的发行版。比如在Hub中直接选择最新的版本,点击install。注意版本选择,M芯片的Mac,只支持旁边有SILICON图标的版本。
在下载时选择Vision Pro Support(Experimental)和IOS Support。后面一个我没有测试不选有没有问题。不过多装一点没有错。
Start From Template
最好的入门就是模仿。Unity提供了一个Vision Pro的项目模板,解压之后,你会发现这个模板就是一个Unity项目。本节尾有下载链接。
有了Unity工程还不简单,打开UnityHub,然后选择Open。选择我们刚才解压的文件夹。
注意原项目是用2022.3.18f1打开的,这里用其他2022.3版本打开都可以。同时c后缀的也没有问题。
这里我用的2022.3.17f1c1版本。
模板的好处是,所有的配置都提前配置好了。打开项目之后可以看到在Project Settings中已经有Vision pro的配置选项。并且XR Plugin-in Management的窗口中, Apple VisionOS已经勾选。
选择场景,并在Build界面中选择并打包。
Template的下载地址:https://download.csdn.net/download/u011618339/89008430
First Vision Pro Project
在Hub中选择新项目,然后选择3D URP模板创建项目。Vision pro目前支持URP渲染管想。
打开Project Setting,选中XR Plugin Management,选择Install XR Plugin Management。
勾选Apple VisionOS,此时Unity会自动下载Vision 的支持插件。
如果其中遇到了提示安装插件窗口,直接同意即可。切换平台,开始打包。
Run on Simulator
打开Unity发布的Xcode工程。在发布的Destination上选择Apple Vision Simulator。如果没有模拟器,那么可能是你没有创建。如果创建了之后也没有,那么可能是错误,请参考下方的问题2.
创建模拟器
选择发布的Destination,点击下方的Manage Run Destinations。
在弹出窗口中点击Simuation选项卡。并点击左下角的+。创建模拟器。
发布到模拟器
选择我们已经创建好的Apple Vision Pro Test。并点击左侧的运行。
注意,如果要发布需要使用付费的开发者账号,因此本教程不支持发布。一般在打包的时候会遇到问题二、三,见后面的解决方案。
点击运行,编译完成之后,将会看到模拟器中运行的程序。
Enjoy your first vision app。
问题总结
有些朋友在开发的时候,肯定会遇到各种问题,因此我会整理一些我在开发的时候遇到的问题,帮助大家。如果大家遇到不同的问题,可以留言,我会抽空为大家解释,也欢迎有解决方案的朋友一起回答。
问题一、打包之后发现模型丢失
查看模型的shader是否是urp的。
问题二、打开Xcode之后,明明下载了模拟器,但是却没有模拟器出现。
打包Unity的时候在Player Setting中在Target SDK中选择Simulator SDK。
问题三、编译提示/Users/unity_arm_mac/Project/Tutorial/visionOSTemplate-2/build/MainApp/UnityPolySpatialAppDelegate.swift:1:8 No such module ‘UnityFramework’
参考问题二,可能是Unity的Build 设置错误了。
问题四 编译问题 Library not found for -lGameAssembly
参考问题二
总结
从个人体验来说,Apple Vision Pro确实是一款跨时代的产品,但肯定不是颠覆性的产品。本教程也只是总结了在开发过程中遇到的坑。如果大家有兴趣,欢迎点赞,收藏,关注。如果喜欢的人多,我继续出Vision pro开发入门教程。