ARCore之路-搭建场景

  在前面,我们已经运行了ARCore提供的示例,虽然示例演示成功了,但我们其实对ARCore一无所知,不知其然也不知其所以然,所以,从本节开始,是时候为Android设备构建增强现实应用程序的框架了,我们将一步一步的建立我们自己的AR应用,正式开始探索ARCore带来的神奇世界。学习如何开发AR应用的旅程可能是一条漫长而艰难的道路,特别是AR应用涉及到太多的3D数学、渲染管线、计算机视觉、图形处理方面的知识,幸运的是,先驱们已经为我们做了很多工作,将很多原本复杂繁琐的细节给封装了起来,提供了良好的开发接口,AR开发的门槛已经大大降低了。了解底层的细节可以让我们的开发进行得更加得心应手,但这并不是必须的,虽然AR应用开发是一个非常复杂的系统集合,但现在正处于一个每个人可以进行AR开发的阶段,也正是开始学习AR开发的绝佳时间,我们的系列文章将会一步一步的带领大家开发属于我们自己的AR。

一、新建场景

  Unity的场景(Scene)如其名所展示的那样,是存储在一个场景中所有资源的集合,一个应用可以根据应用的需要构建单个场景或多个场景,一个场景就像话剧的一幕,也是我们经常玩的游戏中的一个关卡。所有的工作都必须依托于场景来构建。Unity它虽然是作为一个游戏引擎来创建的,但随着增强现实和虚拟现实已经开始开始渗透到开发的方方面面,那么最好把Unity看作一个3D引擎而不是仅仅是一个游戏引擎。
  下面我们来创建场景,打开我们在上节中新建的Fox工程,为了便于统一管理(这是个好习惯),我们在Project窗口中,右键 “Assets” ,选择t”Create” ,然后 “Folder”,这将会新建一个文件夹,我们把文件夹命名为Scenes。如下图所示:

这里写图片描述

  接下来,我们选择菜单”File” ->New Scene,或者直接ctrl+N,这将新建一个场景。选择菜单”File” ->Save Scene,将打开保持场景对话框,选择好要保持的路径(保存到我们刚建的Scenes文件夹中),并命名场景为Fox.unity

这里写图片描述

  好了,现在我们的场景建好了,可以看到,场景中默认有一个主摄像机和一个平行光,下步我们将添加ARCore的关键模块。

二、添加ARCore

  在Unity中,有一类叫Prefabs的预制件,所谓的预制件其实就是一个模块,这个模块包含了GameObjects及其相关联的组件、属性、动作、模型、纹理等等,这是一个功能块,这种设计使得模块可以非常方便的被复用。在我们引入ARCore的相关Prefab前,我们把场景中的”Main Camera” 和”Directional Light”删掉,因为ARCore中已经有这两个GameObject了,Hierarchy窗口,选中”Main Camera”, “Directional Light”,右键选择”Delete” 删除掉(或者在选择后直接按Delete键删除)。

这里写图片描述

  在Project窗口中,找到”GoogleARCore” -> “Prefabs” ,选择 “ARCore Device” 和 “Environmental Light” prefabs,并将这两个 prefabs拖到Hierarchy窗口中,如下图所示。
这里写图片描述

  好了,现在我们把ARCore两个最重要的Prefabs加入到我们的场景中了。ARCore Device处理所有与设备相关的事宜,更新device的位置,更新Anchor的位置,更新检测到的平面等等。Enviromental Light则处理所有光照相关事宜,如光照强度估计,光源方向估计等等。在添加完这两个Prefabs我们还需要添加事件系统以使我们的应用能监听和处理事件信息。在Hierarchy窗口中,在Fox栏,右键选择”GameObects” ->”UI”->”Event System”,这就为我们的场景添加了事件系统。如下图所示。

这里写图片描述

三、导入模型

  我们将使用我们自己的模型,所以我们需要导入我们在之前提到的狐狸模型。在Project窗口中,右键”Assets”->”Import Package”->”Custom Package”,在打开的对话框中定位到Fox.unitypackage,随后会打开资源导入窗口,不做任何修改,直接点击“Import”,这将会把我们的狐狸模型导入到工程中。

这里写图片描述

这里写图片描述

  至此,我们的场景我们已经搭建得差不多了,是不是感觉场景中没东西?这就是AR与其他应用开发的最大不同,AR的场景就是取自于摄像头的实景,也正因为如此,在Game窗口中,我们没办法测试我们的应用。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_DavidWang_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值