谷歌I/O多个AR创意项目已开源,帮助开发者创建更丰富AR应用
文章相关引用及参考:映维网
帮助开发者创建更丰富,更为身临其境的AR应用程序。
(映维网 2018年05月31日)谷歌在数周前的I/O大会为ARCore带来了一次重大更新,增加了像Cloud Anchors和Augmented Images这样的新API,允许启用多用户协作式AR体验和将2D图像转换成3D对象。这一系列的新功能将能改变我们今天使用AR的方式,并且帮助开发者创建更丰富,更为身临其境的AR应用程序。
对于这些新功能,谷歌决定对平台进行测试,所以他们构建了多项真实体验,以向大家展示这一切是如何成为现实。所有的演示作品都在I/O大会的AR&VR沙箱区域进行了展示。谷歌已经对它们进行了开源,希望大家可以看到构建这些体验是有多么容易。谷歌同时分享了它们的创作过程,以及背后的一些经验教训。
1. Light Board:AR多用户
Light Board是一款AR多用户桌上游戏,其中两人玩家可以在漂浮棋盘上相互发射颜色导弹。
尽管开发Light Board对牢记终端用户是谁十分重要,但谷歌希望这对开发者而言同样是一款简单有趣的游戏,让他们在参观I/O大会的沙箱区域时可以尽情享受。开发者只有数分钟的时间进行体验,所以游戏需要允许玩家轻松上手和游玩。
Light Board的美术是一大重点,谷歌对游戏外观的目标是匹配I/O大会的设计与装饰风格。通过这种方式,应用看上去就会像是大会的一种延伸。因此,谷歌的设计哲学存在3个目标:明亮的强调色,简单的图形和自然的物理材质。
左图:I/O 2018演示,右图:Light Board游戏
谷歌是通过Maya和Cinema 4D创建了美术,用Substance Painter为模型创建了基物(physically based)材质。正如持续迭代对工程而言十分关键,这在创建美术asset方面同样非常重要。因此,谷歌十分仔细地跟踪内容管道,即便是相对简单的对象也同样如此。这允许谷歌快速尝试不同的形状和棋盘风格,然后才决定最终的设计。
在工程端,谷歌选择了Unity游戏引擎来作为开发环境。Unity为谷歌提供了一系列的重要优势。首先,可以马上且轻松地运行精美外观的3D图形;第二,引擎已经相当完整,所以谷歌可以马上开始迭代玩法代码。跟美术一样,这允许在敲定最终方案之前测试玩法选项。另外,只需小小的额外工作量,即可同时支持安卓和
为了处理多用户功能,谷歌使用了Firebase Realtime Database。谷歌十分关注大会期间的网络性能表现,而谷歌认为数据库的持续性质更能忍受糟糕的网络情况。结果表明,运行效果十分优秀,而且可以免费停止和重新加入游戏。
谷歌表示,十分享受开发Light Board的过程,希望大家能够将它作为例子,以说明不仅开发AR应用十分简单,而且真正利用Cloud Anchors等酷炫功能同样非常轻松。你可以关注谷歌的Github页面,并且尝试一下Light Board。
2. Just a line
谷歌在三月推出了Just a Line。这款安卓应用允许你用手机在空中进行绘画涂鸦。这项简单的实验旨在展示ARCore的能力。在I/O大会上,谷歌为这款应用增加了Cloud Anchors,这样两人用户就能同时在相同的空间中进行创作,包括安卓用户和iOS用户。
两款应用都是原生开发:安卓版本采用了Android Studio,iOS版本则是xCode。ARCore的Cloud Anchors可允许Just a Line匹配两台智能手机,支持用户在联机空间中同时绘画。这种匹配支持安卓和iOS设备,而画作是通过Firebase Realtime Database进行实时同步。你可以在映维网找到iOS和安卓的开源代码。
3. Illusive Images
“Illusive Images”这款增强画廊包含3件艺术作品,其中每一个都探索了不同的增强图像用例和用户体验。随着你围绕对象从一边走到另一边,或者从特定的方向进行欣赏,2D艺术作品将融入至3D,邀请你进入艺术作品的空间,突破物理相框的限制。
由于增强图像的视觉设计本质,谷歌创建了包含不同程度功能的数据库。为了实现最佳的结果,谷歌通过重新调整画布大小来迅速迭代。谷歌同时调整了亮度和对比度水平。这种不同的变体帮助实现了最优的图像,同时无需在设计意图上进行让步。
这款应用是通过的Unity with ARCore进行开发,其中大部分的asset都是在Cinema 4D中进行创建。动画是以fbx的形式导入至Unity,并且完全是由用户相对于艺术作品的位置进行驱动。
开源代码:https://github.com/googlesamples/arcore-illusive-images
为了帮助你更轻松地开发体验,谷歌已经开源了所有的演示作品。谷歌表示,他们希望这可以为你带来帮助。