近期,苹果公司推出了的 ARKit 增强现实平台,为众多开发者带了一个惊喜,同时为移动 AR 的解决方案及平台提供了很多帮助。作为一名 AR 开发者,我们不仅无法忽视苹果所做的事情,还需要不断学习了解。本文旨在探讨已发布的测试版 XCode 和 ARKit 具体应用。

注意事项

  • 必须准备一台 Mac 电脑。
  • 一个 Apple 开发者的帐户,以便下载必要的工具。大概每年花费 $99 来购买这些服务。

下面正式开始开发之旅。

1、安装所需软件

登陆 Apple 开发者网站,点击“下载”按钮。如果你的开发者账号处于激活状态,那么将会看到以下测试版软件选项。

在 Mac 电脑上下载并安装 MacOS 10.13 和 Xcode 9 的测试版本。另外,在 iPhone 或 iPad 上安装 iOS 11 测试版。

2、创建新项目

安装完成之后,打开 Xcode。点击蓝色锤子图标,将会打开“欢迎”界面。首先,我们需要开始创建一个新项目,点击“创建一个新的 Xcode 项目”按钮。

Xcode 将加​​载其主页面并显示模板选择页面。模板简化了入门过程。然后选择增强现实应用程序图标,单击“下一步”按钮。

项目选项面板如下图所示,先命名该项目名称,然后将其链接到我们的开发者帐户。其中要确保 Content Technology 选项选择 SceneKit。完成下图所示的选项内容后,点击“下一步”按钮。

现在我们需要一个地方来存储我们的项目。在文件夹选择窗口中创建一个文件夹,然后单击“创建”按钮。

加载完成后,如下所示:

3. 修改 3D 模型

在这一步中,我们将从 3D 模型库(TurboSquid)中找到一个 3D 对象。然后再下载一个广告牌,用 3D 对象替换广告牌上的纹理图片。右击下面的图片,然后“另存为图像”,命名图像“pict1.jpg”,然后“保存”。

在 TurboSquid 网站上搜索“广告牌”。本教程中,我选择了 MOTHERHUNTER 的广告牌。并下载了“dae”版本(您将需要一个 TurboSquid 帐户)。

接下来用 Next Reality 标志替换广告牌纹理。将文件解压缩到目录。完成解压缩后,大家应该会看到一个文件夹图标。打开文件夹,看到 billboard.dae 文件和纹理的“tex”子文件夹。打开“tex”文件夹,下一步。

本文使用的广告牌纹理看起来真实的。

这一步先将“pict1.jpg”和“pict2.jpg”替换为 Next Reality 标签的副本。

如果回到上一个文件夹并双击“billboard.dae”,应该可以看到:

现在已经完成了 3D 模型。

4. 添加 3D 模型

默认的模板项目中附带了一个 3D 模型,我们需要用刚创建的模型替换它。首先查看 Project Navigator,找到一个名为 art.scnassets 的文件夹。

选择“ship.scn”和“texture.png”,点击“删除”键。

按住 Control 键,选择“art.scnassets”文件夹。右击选择“将文件添加到 art.scnassets ”。

在出现的窗口中,导航到具有“billboard.dae”文件和“tex”文件夹的位置。然后按住 Shift 键,同时选择“billboard.dae”文件和“tex”,然后单击“添加”按钮。

现在我们在我们的项目中有我们的定制模型。

5. 将模型放在正确的位置

现在我们将模型定位、旋转及正确缩放。确保选择“Billboard”对象。然后打开场景图。如下图中红色箭头指向的小图标所示。

单击该图标将在标有“场景图”的视图中打开一个侧面板。直接在“场景图”标签下选择“Billboard”。现在按 Control-Command 键和 3 键,调出屏幕右侧的 Node Inspector。

在转换部分,我们需要手动输入设置。

位置:

  • x: 0.255
  • y: - 57
  • z: -87

欧拉:

  • x: 0
  • y: -27
  • z: 0

范围:

  • x: 0.09
  • y: 0.09
  • z: 0.09

这些数值需要不断的探索。

6. 编码与创建

现在,我们需要在 ViewController.swift 文件中更改一行代码。双击该文件,则会在主窗口中打开代码。向下滚动代码到下图所示的突出显示文本的一行。现在把“ship.scn”改成“billboard.dae”。

更改之后,如下所示:

let scene = SCNScene(named: art.scnassets/billboard.dae")!

基于以上内容,我们已全部完成!最后确保你的 iPhone 手机连接在 Mac 上,然后点击窗口顶部的播放按钮开始运行。此外,确保手机设备已解锁。

一旦计算机完成构建过程并将软件上传至 iPhone 后,显示效果将如下所示:

这个项目很简单可以得到——一个 3D 模型查看器。下面我们会进一步探索 iOS AR 开发的世界。

原文:Get Started Building an Augmented Reality Application on an iPhone or iPad Quickly

快速构建一款 AR App 入门指南相关推荐

  1. 用Flutter + Dart快速构建一款绝美移动App

    作者 | Wojciech Kuroczycki 译者 | 弯月 来源 | CSDN(ID:CSDNnews) 如今,与前端或移动相关的新框架层出不穷.所有从事Web开发的人都应该熟悉各种目不暇接的新 ...

  2. 如何快速构建一款联机游戏?

    导语 |近日,云+社区开发者大会(苏州站)圆满落幕.本次开发者邀请了腾讯内部及业内行业大咖就物联网.小程序.微服务等当前互联网领域的热点技术的落地实践问题进行了深度探讨.本文是林洁文老师的分享,关于如 ...

  3. 怎么DIY快速制作一款手机App软件?

    随着APP软件的普及,越来越多的企业以及个人都加入创建自己的APP应用软件,现在我们来分享一下如何DIY快速制作一款手机App软件. 市面上有很多DIY App制作工具,它们普遍使用的是拼装式.这样的 ...

  4. 不用掉一根头发!用 Flutter + Dart 快速构建一款绝美移动 App

    作者 | Wojciech Kuroczycki 译者 | 弯月 出品 | CSDN(ID:CSDNnews) 如今这个时代,与前端或移动相关的新框架层出不穷.所有从事Web开发的人都应该熟悉各种目不 ...

  5. 大漠穷秋:如何快速构建一款SCRM小程序?

    导语 | 9月21日,云+社区技术沙龙"小程序·云开发"北京站圆满落幕.本期沙龙腾讯云联合猫眼.即速应用.白鹭引擎等企业,将从小程序·云开发后台技术.云开发实时数据推送实践.云开发 ...

  6. 英特尔OpenVINO工具套件快速构建一款AI应用之课程体验

    首先和大家说明一下,这是一个体验课程笔记 本文记录.博主学习该课程前两个章节内容的笔记心得 声明:本文禁止转载.感谢理解与支持 文末有课程链接 这个课程.博主会一边学习.一边撰写更多笔记类教程 对 模 ...

  7. 微软欲模仿“微信”,打造一款超级 App?

    「Write Once,Run Anywhere」是很多开发者的梦想,而对于不少开发商而言,他们更希望能够打造一套系统或服务走天下. 近日,据外媒 The Information 报道,微软或正在构建 ...

  8. javaCV入门指南:序章

    javaCV入门指南系列: JavaCV入门指南:序章(看完本章后,不想看原理的小伙伴可直接跳转到<快速上手篇>) JavaCV入门指南:调用FFmpeg原生API和JavaCV是如何封装 ...

  9. JavaCV入门指南:调用opencv原生API和JavaCV是如何封装了opencv的图像处理操作?

    JavaCV入门指南系列: JavaCV入门指南:序章(看完本章后,不想看原理的小伙伴可直接跳转到<快速上手篇>) JavaCV入门指南:调用FFmpeg原生API和JavaCV是如何封装 ...

最新文章

  1. 模拟互联网中的dns服务布置(bind)
  2. 使用docker toolbox 在windows上搭建统一环境
  3. 【BZOJ】1706: [usaco2007 Nov]relays 奶牛接力跑
  4. shell后台执行命令-crontab
  5. 【东软实训】SQL多表链接
  6. gridview合并单元格
  7. mysql二进制安装方法
  8. 华为云发布 EI 城市智能体
  9. 2017-08-16 BEX5下集成FullCalendar
  10. dojo + jersey 上传图片到数据库
  11. Linux中的cp命令老九门
  12. 精通JavaScript+jQuery:100%动态网页设计密码 中文PDF扫描版
  13. 数据特征分析方法总结
  14. Origin曲线拟合教程
  15. python 读写tiff文件
  16. linuxeth0路径_linux 驱动 路径(最新更新)网卡驱动路径
  17. HTML和CSS小知识点笔记
  18. 404网站服务器错误怎么解决,网站404错误怎么解决?[终极Xenu死链工具]
  19. HDLC协议C语言,符合中国移动标准协议转换器中HDLC协议FPGA设计与实现.doc
  20. linux进行挂载Nas存储

热门文章

  1. 爱奇艺又涨价?注定想追剧就要成为SSSSVIP
  2. 基于MATLAB的分子动力学自编程序—300K下Ar的分子运动
  3. python---导入 py文件
  4. 算法练习-鸡兔同笼问题
  5. open连接MySQL超时_mysql5 超时链接
  6. 康沣生物通过港交所聆讯:持续亏损、现金流紧张,李克俭为董事长
  7. JDK版本对应其major.minor version,看这一篇就够啦(附java历史版本下载地址)
  8. javascript冷门吗_冷门JS技巧
  9. 阿里巴巴矢量图标库全选
  10. javascript 递归乘阶