前言
苹果推出ARKit半年了,开发者对其兴趣有增无减,AR产业也借苹果谷歌等厂商的努力得到了快速发展。作为广大iOS开发者的一员,我也加入了学习AR的队伍中。
得益于SceneKit优越的性能和封装,ARKit的开发也如鱼得水,如果你有SceneKit开发经验,那么短时间开发出一款很酷的AR应用不是难事。这次,我们尝试使用ARKit来制作一个传送门(或者说哆啦A梦的任意门)
项目效果:
前期准备
制作前,我们需要准备好任意门中的3D模型,以及任意门中的天空盒贴图。
在这里我使用了大学的钟塔模型,使用了Cinema4D制作,SceneKit支持dae或obj格式的模型,导入后可以转换成SceneKit对应的scn格式。
天空盒贴图是什么?游戏中对于一些有边界地图,想要创造远距离场景的视觉效果,就可以采用将天空盒包裹当前真实场景的方法,如CS。
项目的配置
1. Info.plist的配置
AR需要使用摄像头权限,在Info.plis中添加“Privacy - Camera Usage Description”键值
2. 界面设置
显示AR摄像机,需要使用AR场景控件,拖ARKit Scene View至故事版,同时我们需要放置按钮以及检测到平面的提示Label
开始Coding
1. 配置ARSceneView
ARKit追踪需要一个AR世界追踪配置项,可以通过实例化ARWorldTrackingConfiguration类来实现(早期是ARWorldTrackin