首先新的ARKit不再单独使用ARKit插件包进行开发,而是通过ARFoundation、ARKit或者ARCore,ARFoundation可以说是unity新出的针对AR方面开发的统一API接口,它将ARKit、ARCore接口进行了统一的封装,以后换平台就不用开发两次了,因为API接口都是一样的,只需要在引擎里面转换平台再编译出来即可。以下为所需开发工具以及我所用的版本:
unity版本:2019.3.4f1
ARFoundation:2.1.4
ARKit XR Plugin:2.1.2
ARKit Face Tracking:1.0.2
Xcode:11.4
一、插件导入
选择菜单Window-package manager
二、设置开发环境
首先将开发平台切换为ios,然后在Player Setting里设置好公司名称和开发者名称,如下图:
其次在"Other Setting"里填写相对应的程序ID和版本号
继续往下拉填写使用摄像机的请求信息,这会在AR应用第一次启动时向用户请求摄像机使用权限。设置好Target Device,目标设备可以是iPhone,也可以是iPad,也可以同时为iPhone+iPad。因为我们使用真机进行应用调试,我们设置Target SDK为Device SDK。设置最低iOS系统版本为11.0,因为支持ARKit的最低iOS版本是11.0。最后设置处理器架构为ARM64。
三、搭建基础框架
在完成上述步骤后,我们来搭建一个基础的应用框架,这个基础框架所有AR应用通用,让我们的程序跑起来。
新建一个工程,我们创建一个名为'Hello ARKit'的场景,删掉场景原有相机,接着在Hierarchy窗口中的空白处点击鼠标右键,在弹出的级联菜单中依次选择XR–>AR Session和XR–>AR Session Origin,新建这两个AR基础组件。
新建一个Cube,将其制作为预设体,放置在Assets-Prefabs文件夹下,然后在AR Session Origin下添加AR Plane Manager组件,并将Cube预设体拖到“Plane Prefab”选项中,如图:
至此,AR应用的基础框架我们已经搭建好了,这是一个ARFoundation开发iOS AR应用的基础框架,流程通用。而且通过对比前文我们可以发现,在基础框架搭建上,Android开发与iOS开发完全一致,后面我们也会看到,编写的代码也是完全一致的,这也就是ARFoundation出现的意义,即一次开发多平台部署,除了环境配置有所不同,其他对象与代码编写均一样,省去了开发人员开发不同平台AR应用的麻烦。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删