您当前的位置:首页 AR|MR ARKit 正文

UE4 和 ARKit 入门

查看: 316| 评论: 2 2017-9-6 12:20 PM| 发布者: VR行业资讯 |原作者: 虚幻引擎官方

6 月 5 日,Apple 推出了革命性的 ARKit,向我们展示了如何用 iOS 设备以一种全新的方式来讲述自己的故事。随着我们对虚拟引擎的 ARKit 集成的不断深化,WWDC 大会上的 Wingnut AR 演示令我们大受鼓舞,已经有如此多的虚幻开发者在为 iOS 设备创造 AR 体验,这真的让我们感到非常兴奋。 

你会使用 ARKit 来进行建筑设计,制作改变玩家与环境互动方式的游戏,或者创造截然不同的东西吗?

看完这个虚幻引擎 4.17 快速入门指南,然后使用 ARKit 来实现你的想法!

121633jtb5jq98wj7wz572


项目设置

要使用带试验性 Apple ARKit 插件的项目,必须先满足以下前提条件:

  • 支持 ARKit 的虚幻引擎 4.17

  • XCode 9 Beta 3 或 4

  • 运行 iOS 11 Beta 的 iPhone 或 iPad

XCode 9 Beta 3 或 4 和 iOS 11 Beta (iPhone/iPad) 都可以从 http://developer.apple.com 网站下载。

要确保使用了正确的 Xcode 版本,请在终端窗口中运行以下命令:

sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer

现在,请启动虚幻引擎 4.17 并创建一个针对移动平台的新项目。打开此项目,然后从插件菜单中启用试验性 Apple ARKit 插件。如果你是基于 GitHub 源代码进行操作,在提示时可能需要构建该插件来启用这项支持。

如果你还没有准备好,请为你的设备配置证书,以便根据我们在文档中提供的指示来创建一个已签名的应用程序。

在“编辑”>“插件”(Edit > Plugins) 下方启用 ARKit 插件,然后重新启动编辑器。

启用 ARKit 插件后,转至“项目设置”>“iOS”(Project Settings > iOS)。你需要进行以下设置来使用 ARKit:

  • Minimum iOS Version:11 Beta

  • Additional Plist Data:

NSCameraUsageDescription\nUE4 需要摄像机使用权限才能使用 ARKit。\n

  • Max Metal Shader Standard to Target:Metal v1.2


在项目中使用 ARKit

ARKit 项目设置涉及三个主要方面:摄像机、Passthrough 和平面检测。我们会简短地介绍各个方面的设置来帮助你快速入门!

摄像机设置

好在摄像机的设置与 VR 摄像机非常相似,设置过 VR 摄像机的人应该对这些设置很熟悉。我们需要的只是一个包含专用 Apple ARKit 摄像机组件的新走卒类 (Pawn class)。当我们在设备上运行时,这个摄像机组件会随现实世界中的移动进行虚拟世界中的移动。

121634jxl3vl59emsj0509

Passthrough 设置

Passthrough 能让我们从 iPhone 或 iPad 背面的摄像机中获取信息,然后将其用作虚拟内容的背景。这会“增强”虚拟内容的现实感。下面几个步骤概括了 Passthrough 摄像机设置的基本要点。如需更完整的示例,请参阅阅读原文链接文章末尾链接的 ARSample 项目中的材质设置。

  • 在项目中添加 ARKit 纹理。

121634ojlu895hs3chcjzv

  • *创建一个新的材质。将明暗处理模型更改为“不照亮”(Unlit) 并勾选“双面”(Two-Sided) 复选框。

121635l5xdmqgerugzuxt9

  • 添加一个纹理取样节点,引用刚才创建的 ARKit 纹理,然后将它插到材质 (Material) 的自发光 (Emissive) 通道中。添加一个 ScreenPosition(屏幕位置)坐标节点,然后将它插到 ARKit 纹理的 UV 输入上。注:你可能需要根据屏幕比例调整 ARKit 纹理的 UV。如需相关演示示例,请参阅阅读原文链接文章末尾链接的 ARSample 项目。

121635eez6onz04le6dkoi

  • 向场景中添加一个球形网格,并将其调整到足以包含内容的尺寸,然后应用新创建的材质。这将用作天空盒,并用来渲染该球体中的内容在摄像机中呈现的影像。


平面检测

将虚拟内容放到现实世界中时,寻找平面通常很有用,例如墙面、地板或桌面。这就是平面检测的用武之地。平面检测可以使 ARKit 在现实世界中找到平面,然后用这些平面来承放虚拟内容。例如,如果你在做一只虚拟的猫,平面检测可以帮助你找到让它在上面四处跑动的地板。

在你移动设备的过程中会自动进行平面检测,而且在 ARKit 摄像机组件上以触摸输入的形式使用检测到的多个平面就像调用“屏幕位置的点击测试”(Hit Test at Screen Position) 功能一样简单。如果找到了一个平面,您将能够访问在 Apple ARKit 点击测试结果中找到的转换信息,以处理与现实世界中那个位置的交互逻辑。

121636m8srv9xp8esadzap

在设备上测试

完成项目设置后,单击启动 >(您的 iPad 或 iPhone),项目便会构建并部署到设备上,和其他任何移动项目的做法一样。


ARSample 项目

121636oyz53938sq959swb

为了帮助大家快速入门,我们整理了一个样本项目,其中各项设置都已经设好,以便于直接使用 ARKit 和 UE4。要下载针对 4.17.1 版本的 ARSample 项目,点击阅读原文(Readmore),在文章末端进行下载。

需要记住的是,这是个早期的试验性插件,会随着技术的发展发生改变。当我们在 4.18 中将作为引擎的一部分正式发布 ARKit 插件时,我们会更新相关的支持文档以反映最终的架构。

我们迫不及待地想看看大家用这项革命性的技术创造了什么,所以我们鼓励大家在社交媒体上分享有关 ARKit 的体验。


52VR.COM微信扫一扫
52vr公众号
专注于VR的学习、开发和人才交流

52VR开发交流

已有 2 人参与

发表评论

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

手机版|VR开发网 |网站地图 统计  津ICP备16006248号

GMT+8, 2017-9-19 11:19 PM

返回顶部