(3)[UE4]在4.18中使用ARKit

该文章为吃货传说原创,转载请注明出处。

4.18正式版好像悄么声的发布了,不再是预览版了。最近一直在和ARKit有关的东西,也做了一个小项目。过程中发现国内可以查阅的资料太少太少了,甚至翻墙到国外也不是那么多。可能因为时间还很短吧,现在从测试版出来大概就几个月而已。不过ARKit作为苹果主推的一个工具,在日后势必要引领一番潮流的,不如现在赶紧先混个脸熟吧!

这篇文章展示了如何在4.18中使用ARKit插件创建一个最最最最最最最最简单的AR项目。

4.17和4.18中ARKit有较大的区别,这篇文章不适用于4.17

那么我们开始吧!


1. 创建项目

首先我们来创建一个纯蓝图项目。为什么要纯蓝图项目呢,因为ARKit默认只提供了几个蓝图方法。。。当然,你可以去修改插件的源码来暴露更多的方法给蓝图。

创建项目时选择Blueprint->Blank,设置成移动端,质量选择Scalable 3D or 2D,No Starter Content(如果有需要可以在项目中添加一个Mobile Starter Content)。


创建项目

2. 启用ARKit插件

打开Plugins设置,找到Augmented Reality,勾上Apple ARKit,如果之前没勾的话,需要重启一下项目。简单易懂,不上图了

3. 创建Pawn

创建一个Pawn类(MyPawn),在根组件下添加一个Camera Component,编译,保存,关掉。

4. 创建GameMode

创建一个GameMode类(MyGameMode),把Default Pawn设置成MyPawn,编译,保存,关掉。然后在World Settings里把GameMode Override设置成MyGameMode。

5. 创建一个我们要显示的物体

创建一个Actor类(ARActor),在根节点下添加一个Cube,调整一下大小,把Scale设置成0.1吧,这样看起来不会太大。编译,保存,关掉。

6. 设置场景中的Actors

删除默认场景中的Actors,只留下PlayerStart,Skylight和Light Source,剩下的统统都干掉,并且不要忘了把PlayerStart的位置设置到0,0,0上。你应该能看到漆黑一片的场景,最后不要忘了保存当前关卡(ARKitMap)

7. 编辑MyPawn

添加一个Input Touch事件,然后和一个叫做Hit Test at Screen Position Tracking Space的节点连起来,这个节点在Apple ARKit分类下。Screen Position可以从Input Touch的Location针脚连过来,会自动又Vector转成Vector2D。Types提供了5个枚举选择,我们就选择默认的None好了,这5种枚举的具体不同可以去查阅官方的资料,这里不赘述。

这个节点也是ARKit的核心方法,用来检测真实世界的平面。从返回的数据 —— 一个Apple ARKit Hit Test Result Structures的数组,我们可以看到,该方法是支持多平面检测的,不过目前我们只用到一个面就够了。

接下来Break这个结构体,我们可以看到如下信息:

Type——Hit Test类型

Distance——相机与Intersection的距离

Transform——Intersection的Transform信息

Anchor——锚点(只有在Existing Plane模式下可用)

简单来说,拿到Transform之后,就可以在这个位置上生成我们的ARActor了,在此,我们只考虑Location的问题,Rotation和Scale请根据自己的需要调整。

那么程序上的事其实到此就结束了,接下来就是对项目进行设置,好让它在设备上跑起来。


蓝图截屏

8. 项目设置

1. 打开项目设置,在Description分类中的最下面勾上Start in AR。

2. 在Maps&Modes中将Default Maps设置成ARKitMap(就是我们刚刚保存的那个),Default GameMode换成MyGameMode

3. 打开iOS分类,设置好Mobile Provision,Certificate,Bundle Information。

如果你还不知道怎么在Windows PC打包或运行iOS App,请看我的另外两篇文章:

《(1)[UE4]在Windows PC上打包iOS App》

《(2)[UE4]在Windows PC上使用Remote Build打包iOS App》

然后在Rendering目录下把Max Metal Shader Standard To Target 选成 Metal v1.2 或 v2.0;

OS Info中的Minimum iOS Version选成11.0;

如果你用的是Windows PC,那么Remote Build也要设置好;

在Orientation中只勾选Supports Landscape Right Orientation;

在Extra PList Data中输入:

<key>NSCameraUsageDescription</key>\n <string>UE4 需要摄像机使用权限才能使用 ARKit。</string>\n

这是为了获取苹果设备的摄像机使用权限



这些基本设置完成后就可以运行了。

9. 在设备上运行

在顶部菜单选择Launch旁边的下拉箭头,选择Project Launcher,点击右上角的Advanced。然后找到All_iOS_On_XXXX这一行,右边的Data Build选择By the book,这样的话所有内容在运行前就会被烘焙好。

Project Launcher

点击Launch。别忘了把手机连到PC上。抽根烟喝口茶,等所有的项目都打上勾,就可以运行啦


10. 运行效果

打开App后,会提示你需要相机的权限,允许后就可以看到画面了。然而分辨率会比较低,这是ARKit的缘故。好了,现在找到一个平面,然后点一下,就可以看到我们可爱的Cube了。如果没有出来,就稍等一下,检测平面是需要时间的。


运行效果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容

  • 该文章为吃货传说原创,转载请注明出处。 在上一篇文章《(1)[UE4]使用Windows PC打包iOS App》...
    吃货传说阅读 7,821评论 3 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,591评论 18 139
  • 如何让自己保持动力,如何让自己不轻易放弃,我在之前的文章中提到过一个方法:给这件事情赋予重大的意义,甚至多重重大的意义。
    陈东Growth阅读 249评论 0 0
  • 在容易感怀的四月天,思绪偶尔会像一匹脱缰的野马,奔腾在这片苍茫的春色中。 也许是写论文写到昏天黑地之余的一念闪烁,...
    桐蒿阅读 142评论 0 0
  • 《鹧鸪天》 雨落窗前风渐凉,丝竹韵律绕屋梁。 旧曲入梦心虽漾,新物推陈夜未央。 山郁郁,水泱泱,古城深院溢馨香。 ...
    陈大仙儿_九儿阅读 365评论 0 0