请选择 进入手机版 | 继续访问电脑版

查看: 4321|回复: 78

[原创] Unity教程 | 使用ARKit为iOS开发AR应用

  [复制链接]

843

主题

1482

帖子

1万

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
19140
QQ
发表于 2017-7-18 06:14:14 | 显示全部楼层 |阅读模式
ARKit在今年的WWDC开发者大会上亮相,发布至今也有一段时间了,Unity也在第一时间添加了对ARKit的支持。今天这篇文章将为大家介绍如何利用Unity与ARKit来为iOS设备创建AR应用,不需要任何代码即可实现。

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

image001.jpg


下载示例工程文件(请回复本帖):
游客,如果您要查看本帖隐藏内容请回复


准备工作

本教程将介绍使用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项目,随意命名为您喜欢的名字。

image003.png


导入ARKit插件

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

image005.jpg


导入模型到场景

先在项目窗口中找到“UnityARShadows”场景,双击打开该场景。

image007.jpg


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

image009.jpg


设置场景

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

image011.png


选中项目窗口中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字段。

image013.png


设置相机与场景

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

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


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

image015.jpg


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

image017.png


构建并发布

依次点击菜单项File – Save Scene保存前面编辑的场景。然后进行构建设置,步骤如下:
  • 点击File – Build Settings打开构建设置,将目标平台切换至iOS;
  • 点击“Add Open Scene”将当前打开的场景构建到最终应用中;
  • 点击Player Settings设置包名(Build Identifier),并在Camera Usage Description中加入“camera use”;
  • 点击“Build”按钮构建Xcode工程,Unity编辑器会要求指定工程目录与名称。


image019.jpg


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



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



4

主题

40

帖子

715

贡献

中级UU族—1级

Rank: 4

积分
715
发表于 2017-7-18 06:18:12 | 显示全部楼层
11111111111111

1

主题

6

帖子

125

贡献

初级UU族—2级

Rank: 2

积分
125
发表于 2017-7-18 06:19:34 来自手机 | 显示全部楼层
66666666666666666666

0

主题

3

帖子

40

贡献

初级UU族—1级

Rank: 1

积分
40
发表于 2017-7-18 06:40:59 | 显示全部楼层
Unity棒棒的

0

主题

2

帖子

35

贡献

初级UU族—1级

Rank: 1

积分
35
发表于 2017-7-18 07:07:56 | 显示全部楼层
好好好

0

主题

1

帖子

15

贡献

初级UU族—1级

Rank: 1

积分
15
发表于 2017-7-18 07:28:12 | 显示全部楼层
多谢楼主分享!

0

主题

1

帖子

15

贡献

初级UU族—1级

Rank: 1

积分
15
发表于 2017-7-18 08:14:47 | 显示全部楼层
学习学习

0

主题

3

帖子

40

贡献

初级UU族—1级

Rank: 1

积分
40
发表于 2017-7-18 08:29:06 | 显示全部楼层
你好,我在尝试使用AR Kit的时候到处官方demo UnityARKitScene到iPhone上有问题,主要是Xcode得配置那里有问题,
Unity到处到Xcode Project之后,Xcode会报以下的错误:
ode Signing Error: Failed to create provisioning profile. The app ID "com.unity.arkitscene" cannot be registered to your development team. Change your bundle identifier to a unique string to try again.
Code Signing Error: No profiles for 'com.unity.arkitscene' were found:  Xcode couldn't find any iOS App Development provisioning profiles matching 'com.unity.arkitscene'.
Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 11.0'

可能是Xcode的配置没有配好,第一次用Unity 到处Xcode Project,不太懂,请问题如何解决?

0

主题

8

帖子

100

贡献

初级UU族—2级

Rank: 2

积分
95
发表于 2017-7-18 11:34:22 | 显示全部楼层
谢谢楼主的分享,很有用,多拓展研究

1

主题

33

帖子

370

贡献

初级UU族—3级

Rank: 3Rank: 3

积分
370
发表于 2017-7-18 13:45:49 | 显示全部楼层
好东西,感谢楼主分享

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表