Unity开发教程:如何使用ARKit为iOS开发AR应用

Unity开发教程:如何使用ARKit为iOS开发AR应用


苹果ARKit在今年的WWDC开发者大会上亮相,Unity也在第一时间添加了对ARKit的支持。今天这篇文章将为大家介绍如何利用Unity与ARKit来为iOS设备创建AR应用,仅通过Prefab资源及相关参数设置,不需要另外编写任何代码即可实现。

本教程会将虚拟的教堂模型呈现在现实世界,最终效果如下:

AR应用

开发者可以在Unity官方中文社区下载示例工程文件。

准备工作

本教程将介绍使用Unity引擎与Apple ARKit来为iPhone或iPad设备制作一款AR应用,在现实世界中显示虚拟模型,并可对模型进行移动、旋转及缩放操作。该教程非常简单,对于从未接触过Unity及毫无编程经验的小伙伴们同样适用。

想为iOS系统开发应用,需要具备一台搭载Mac OS系统的电脑,以及下载资源所需的Apple开发者账号。其它硬件与软件需求如下:

Unity引擎(需要使用Unity 5.6.1p1或更新版本);

Unity ARKit插件;

Xcode 9测试版;

macOS High Sierra 10.13测试版;

搭载iOS 11测试版与A9或A10处理器的Apple设备。

实现步骤

下面为大家介绍使用Unity与ARKit开发iOS平台AR应用的各个步骤。

1、设置Unity项目在安装好所有需要的软件并准备好硬件设备后,打开Unity编辑器新建3D项目,随意命名为您喜欢的名字。

Unity ARKit

2、导入ARKit插件将下载的ARKit插件导入Unity工程,双击.unitypackage文件打开,点击Import按钮导入即可。另外,也可以点击菜单项Assets > Import Package > Custom Package…在文件浏览器中选择下载的插件,然后导入项目。

Unity ARKit

3、导入模型到场景先在项目窗口中找到“UnityARShadows”场景,双击打开该场景。

Unity ARKit

然后依次点击菜单项Windows – Asset Store访问Unity资源商店,其中包含大量免费的3D模型资源。本例中选择Church 3D模型文件,下载该资源并导入项目。

苹果ARKit开发

4、设置场景在Unity编辑器中设置“UnityARShadows”场景,删除层级窗口的RandomCube、HitPlayer、PointCloudExample及PointCloudParticleExample对象。

ARKit开发实例

选中项目窗口中Church3D – Prefabs文件夹下的“Church”预制件拖拽至场景中,让其作为“HitCubeParent”的子对象。设置Church对象的坐标、旋转及缩放属性如下:

Position: X=0, Y=0, Z=0

Rotation: X=0, Y=0, Z=0

Scale: X=1, Y=1, Z=1

将“UnityARGeneratePlane.cs”脚本绑定到“Church”对象,然后将“HitCubeParent”对象赋给脚本的Plane Prefab字段。

ARKit开发教程

5、设置相机与场景将“CameraParent”预制件的坐标、旋转及缩放属性分别设为如下:

Position: X=-5, Y=2, Z=-3

Rotation: X=0, Y=90, Z=0

Scale: X=1, Y=1, Z=1

现在相机正面朝向教堂模型,可以根据实际效果调整灯光。效果如下:

ARKit开发实例

点击运行测试场景,效果如下:

ARKit开发测试场景

6、构建并发布依次点击菜单项File – Save Scene保存前面编辑的场景。然后进行构建设置,步骤如下:

点击File – Build Settings打开构建设置,将目标平台切换至iOS;

点击“Add Open Scene”将当前打开的场景构建到最终应用中;

点击Player Settings设置包名(Build Identifier),并在Camera Usage Description中加入“camera use”;

点击“Build”按钮构建Xcode工程,Unity编辑器会要求指定工程目录与名称。

AR应用开发过程

用Xcode打开刚才构建的工程,设置真机开发所需的开发者证书,确保将iPhone或iPad设备连接到电脑,然后点击运行按钮将应用安装到真机。最后运行效果如下:

AR应用测试

今天的教程就为大家分享到这里,当然,ARKit还有更强大的功能等待大家去发现,欢迎大家在本文基础上继续探索,利用Unity引擎挖掘出ARKit更大的潜力。

你可能感兴趣的:(Unity开发教程:如何使用ARKit为iOS开发AR应用)