Unity教程 | 使用ARKit为iOS开发AR应用

2017年07月31日 17:23 0 点赞 0 评论 更新于 2025-11-21 21:27
Unity教程 | 使用ARKit为iOS开发AR应用

ARKit在今年的WWDC开发者大会上亮相,发布至今已有一段时间,Unity也第一时间添加了对ARKit的支持。本文将详细介绍如何利用Unity与ARKit为iOS设备创建AR应用,且无需编写任何代码。

最终效果

本教程会将虚拟的教堂模型呈现在现实世界中。

准备工作

本教程将使用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项目

在安装好所有所需软件并准备好硬件设备后,打开Unity编辑器,新建一个3D项目,并为其命名(可随意选择您喜欢的名称)。

导入ARKit插件

将下载的ARKit插件导入Unity工程,有两种导入方式:

  • 双击.unitypackage文件打开,点击“Import”按钮完成导入。
  • 点击菜单项“Assets > Import Package > Custom Package…”,在文件浏览器中选择下载的插件,然后导入项目。

导入模型到场景

  1. 在项目窗口中找到“UnityARShadows”场景,双击打开该场景。
  2. 依次点击菜单项“Windows – Asset Store”访问Unity资源商店,该商店包含大量免费的3D模型资源。在本示例中,选择Church 3D模型文件,下载该资源并导入项目。

设置场景

  1. 在Unity编辑器中设置“UnityARShadows”场景,删除层级窗口中的RandomCube、HitPlayer、PointCloudExample及PointCloudParticleExample对象。
  2. 选中项目窗口中“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
  3. 将“UnityARGeneratePlane.cs”脚本绑定到“Church”对象,然后将“HitCubeParent”对象赋给脚本的Plane Prefab字段。

设置相机与场景

将“CameraParent”预制件的坐标、旋转及缩放属性分别设置为:

  • Position: X = -5, Y = 2, Z = -3
  • Rotation: X = 0, Y = 90, Z = 0
  • Scale: X = 1, Y = 1, Z = 1

此时相机正面朝向教堂模型,您可以根据实际效果调整灯光。设置完成后,点击运行测试场景。

构建并发布

  1. 依次点击菜单项“File – Save Scene”保存前面编辑的场景。
  2. 进行构建设置,步骤如下:
    • 点击“File – Build Settings”打开构建设置,将目标平台切换至iOS。
    • 点击“Add Open Scene”将当前打开的场景构建到最终应用中。
    • 点击“Player Settings”设置包名(Build Identifier),并在“Camera Usage Description”中加入“camera use”。
    • 点击“Build”按钮构建Xcode工程,Unity编辑器会要求指定工程目录与名称。
  3. 用Xcode打开刚才构建的工程,设置真机开发所需的开发者证书,确保将iPhone或iPad设备连接到电脑,然后点击运行按钮将应用安装到真机。

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

作者信息

孟子菇凉

孟子菇凉

共发布了 3994 篇文章