写点什么

ARCore 1.2 让用户共享 AR 世界

2018 年 5 月 29 日

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

在最近举行的 I/O 2018 大会上,谷歌宣布了其增强现实框架 ARCore 的 1.2 版本,该版本通过“云锚(Cloud Anchor)”、垂直面检测和 SceneForms(让不使用 OpenGL 创建 3D App 成为可能)提供协作式 AR 体验。

云锚旨在让开发人员可以创建能同时在多个设备上共享的增强现实体验。按照谷歌的说法:

[云锚] 将促成新型的协作式 AR 体验,比如重新装修你的家、玩游戏、画一幅社区壁画——全都是和朋友一起,而且可以跨 Android 和 iOS。

云锚 App 需要某种形式的云存储在设备之间共享锚 ID,并使用谷歌云锚服务同步它们。对于锚点,App 可以进行两种基本操作

  • 托管锚点,就是说把它发送给云锚服务,指定一个相对其他视觉特征的位置;
  • 解析属于特定 AR 房间的所有锚点。

谷歌很快就将更新其 Just a Line 应用(让其用户可以在增强现实中画画),加入对云锚的支持,让用户可以协同画画。

ARCore 1.2 的另一项增强是能够检测垂直面,使在墙面或其他垂直面上叠加 AR 物体成为可能。

最后, SceneForms 旨在让开发人员更容易使用 ARCore 中的 3D 图形,而不必诉诸于 OpenGL。SceneForms 包含一个 3D 图形 API、一个基于物理现实的渲染器和一个 Android Studio 插件,可以用于导入、查看和构建 3D 模型。

值得注意的是,Alberto Taiuti 在 Medium 上指出,云锚没有为增强现实数据提供完全的云持久化,而这是初创企业 Placenote BlueVision 的目标。具体来说,云锚只会在创建后保存一天,相应的原始数据也会在七天后消失。因此,他总结道,它们只在本地多人游戏时有效。不过,谷歌会在某个时间去掉这一限制。

谷歌AR 的GitHub 库提供了ARCore 的各种组件,既有Android 的,也有iOS 的。

查看英文原文 ARCore 1.2 Lets Users Share AR Worlds

2018 年 5 月 29 日 12:571494
用户头像

发布了 1008 篇内容, 共 310.2 次阅读, 收获喜欢 278 次。

关注

评论

发布
暂无评论
  • scroll-view 介绍:如果渲染一个滚动的长列表?

    2020 年 6 月 4 日

  • 谷歌开源 Cardboard VR 平台

    借助Cardboard和谷歌的VR软件开发工具包,开发人员可以在Android和iOS设备上创建和分发VR体验。

  • Mozilla 开发全新的公开网络 API WebXR 来实现增强现实

    在添加了Firefox对WebVR的支持之后,Mozilla现在正在开发一款新的API,叫WebXR,来实现网络混合现实的功能。Mozilla去年首次宣布WebXR将会取代WebVR,并将对使用WebVR的开发人员提供平缓的过渡期。

  • 大前端时代前端监控的最佳实践

    演讲嘉宾 彭伟春(六猴),阿里巴巴前端技术专家。 内容介绍 海量用户规模、跨端用户环境、全球业务部署,给前端监控带来不少新的挑战,本次演讲将从前端监控最前沿的思考,到前端监控系统的架构,再到具体的案例分析,体系化地讲述前端监控的点点滴滴。

    2018 年 9 月 12 日

  • HoloLens 应用开发中的挑战

    本文作者了介绍在HoloLens应用开发中得到的一些经验教训。这些经验部分来自于开发使用HoloLens的新UWP应用程序,部分来自于升级已有应用程序支持HoloLens。作者给出了为支持HoloLens设备家族,在UWP应用设计上的一些考虑,这些考虑需要加入到应用开发周期的早期阶段。本文最后,作者给出了一些简化应用升级过程的可行解决方案和建议。

  • 如何快速构建 Java 注解处理器?

    大家知道,Java的注解系统是非常强大的。除了最常见的Override、Deprecated注解以外,我们还会看到很多项目里都会用到注解,注解的应用大大简化了大家的开发。可以说,在注解体系中,注解处理器扮演着非常重要的角色。Java的注解处理工具APT是一种轻量高效的代码预处理工具,应用在许多项目中。今天主要讲如何快速构建注解处理器,解读官方文档中比较难懂的几个点,让大家有个深入的理解。附录: 1、注解处理器Process接口内部的其他几个方法。getSupportedOptions(),这个是配置注解处理器支持的options。public Set<String> getSupportedOptions() getSupportedSourceVersion(),这个方法配置注解处理器支持的源码版本。public SourceVersion getSupportedSourceVersion() 2、ProcessingEnvironment内部提供的几个接口对象Filer接口是用来操作文件的,Elements接口是用来处理元素的,Types接口用来处理类型。Messager接口用来输出各类日志。 很多情况下,我们为了后面使用方便,我们会把这些实例保存在Processor内部,供后面使用。但是,AbstractProcessor已经为我们做好了这些,在AbstractProcessor里面,有一个成员变量processingEnv。在后面的处理中,我们可以直接使用这个变量获取各个实例。protected ProcessingEnvironment processingEnv; 3、getSupportedOptions用法getSupportedOptions告诉APT我们的注解处理器能够接受哪些Options。那这个方法可以怎么用呢?很多时候,我们工程里需要一些动态配置,这些配置是不可以在工程里写死的,需要使用者在调用的时候传入,通常都是命令行传入。这里的 Options,其实就是对应命令行的各个参数。如果我们的注解处理器支持一些动态功能,那就可以让用户通过Options,也就是命令行参数传给我们。Options在命令行里的输入格式是-Akey=value。现在举个例子。假设我们提供一个Option,这个Option的key是ignore,用户通过这个参数传给我们一个全类名列表,我们拿到这个列表,解析这些类名,在注解处理的时候忽略这些类。这个时候,我们就需要重写 getSupportedOptions 这个方法。public Set<String> getSupportedOptions() { Set<String> set = new HashSet<>(); set.add("ignore"); return set; } 用户的命令行参数就可以写成-Aignore='com.example.A;com.example.B' APT在注解处理的时候,就会将这个参数的key、value传入。我们通过processingEnv.getOptions().get(“ignore”)便可以获取这个value。String ignoredClasses = processingEnv.getOptions().get("ignore"); 讲师介绍赵立飞,Android资深工程师。曾在奇虎360、饿了么、爱奇艺等公司,担任工程师或技术专家,目前就职于某电商公司。精通Java底层技术,研发方向包括Android Framework和Linux系统。

    2020 年 6 月 24 日

  • 构建增强现实移动应用程序的六款顶级工具

    尽管很多人认为增强现实(Augmented Reality,简称AR)只是一种用于娱乐的技术,其实,它在多个行业(如医疗保健、电子商务、建筑等等)有着广泛的应用。本文将帮助您了解我们可以构建什么样的增强现实应用程序、在AR SDK中应该寻求哪些功能,并通过一张表格对比了6种广为人知的AR工具包。

  • 携云而来的 iOS 5

    Apple于昨日提供了iOS 5的下载,带来的特性包括内置的Twitter支持、通过云可存储联系人、书签以及应用数据。同时还引入了iMessage,iMessage可帮助使用者之间在有网络连接时互相发送信息,而无需通过SMS。

  • Mozilla 开源了 VR 框架 A-Frame

    Mozilla创建并开源了A-Frame,这是一个用于在桌面浏览器、智能手机和Oculus Rift上创建VR场景的框架。

  • 借助 Unity AR Foundation 构建跨平台 AR 应用

    Unity是同名游戏引擎的制造商,它在继续推进自己的AR Foundation项目,该项目旨在让开发者可以更容易地创建能够同时在iOS和Android上运行的AR应用。其最新版本增加了对ARKit ARWorldMap和Unity轻量级渲染管道的支持。

  • 用 Kafka Streams 搭建实时的广告消费系统

    演讲嘉宾 陈博玚,Pinterest广告系统架构工程师。 内容介绍 本次演讲会以Pinterest设计广告消费系统中遇到的压力和挑战为背景,带领听众理解为什么流处理是广告系统不可或缺的组成部分,如何设计流处理系统,如何高效稳定的运维,怎样优化流处理技术的使用等等,扎根实际,着眼生产第一线的技术除障和度量分析。Pinterest大胆尝试并使用了Kafka Streams这样一个新兴的流处理技术,并且成功的将其推行成为广告系统的实时运算基础,将会作为亮点分享给大家,以期鼓励更多Kafka Streams在中国计算机业界的大数据应用。

    2018 年 9 月 12 日

  • Google Cardboard:来自谷歌的虚拟现实开源项目

    Google Cardboard是谷歌的一个虚拟现实开源项目,旨在使用户可以以一种简单、有趣且廉价的方式体验虚拟现实。用户只需要在Android手机上安装一个Google Cardboard应用,并将手机安置在一个观察器上就可以开始体验了。

  • 苹果发布新的 iOS 8 SDK 和开发工具

    在2014全球开发者大会上,苹果发布了新的移动操作系统iOS 8以及新的SDK和开发工具。新发布的苹果软件包括超过4000个新API,其中包括像HealthKit、HomeKit和CloudKit这样的全新框架,并增强了平台的游戏功能。苹果还发布了一门新语言,旨在取代Objective-C。

  • image 媒体组件(下):开发中经常遇到的问题?

    2020 年 6 月 11 日

  • 移动 AR 技术和应用实践

    本次分享系统性地介绍在百度AR开放平台研发过程中的实践经验和思考。

  • 人机交互新体验,全新 AR 界面让用户轻松控制画中物

    未来,AR不仅是一种沉浸式体验,更能让用户参与其中与之互动。

  • AR 产品跳票,苹果又食言了

    据报道,苹果AR眼镜可能会推迟到2022年发布。

  • 网易戏精 ARCore 短视频新玩法实践

    《网易戏精》是网易人工智能事业部旗下一款AI短视频产品,用户可以随手拍出自己的特效视频,其中包含数十个有趣的奇幻道具

  • 爆发正当时,但为什么 VR 仍然如此小众?

    COVID-19全球大流行之下,让人们躲进虚拟现实正是一个绝佳时刻,但VR技术似乎距离成为主流技术还有一段很远的路要走。

  • image 媒体组件(上):如何实现图片的懒加载?

    2020 年 6 月 11 日

发现更多内容

架构训练营第一周学习小结

李日盛

架构师训练营 1 期 -- 第五周作业

曾彪彪

极客大学架构师训练营

mPaaS x Menxlab | 1024程序员节:Talk is cheap,Show me the AppID

蚂蚁集团移动开发平台 mPaaS

程序员 开发者 mPaaS 1024

机器学习是什么?

马同学

学习

Microsoft Azure机器学习采用NVIDIA AI为Word编辑器提供语法建议

Geek_459987

现成区块链交易所开发app,币币撮合交易平台搭建

WX13823153201

现成区块链交易所开发

GitLab用户切换引发的某程序员“暴动”,怒而开源项目源码

小Q

Java git 学习 开发 代码仓库

学习总结

饺子

1分钟带你get React setState 面试要点

Leo

面试 前端 React 前端进阶训练营 setState

数据结构与算法系列之链表操作全集(一)(GO)

书旅

go 数据结构 数据结构和算法

攻克金融系统开发难点,借助SpreadJS实现在线导入Excel自定义报表

Geek_Willie

SpreadJS 在线导入excel

自动化测试框架类型,你知道几种?此处介绍5种比较常见的

软测小生

软件测试 自动化测试框架 软件自动化测试

解析 CloudQuery 审计分析功能

CloudQuery社区

数据库 sql 安全 工具软件

吃透阿里大佬整理的Java面试要点手册,成功五面进阿里(二本学历)

Java架构追梦

Java 学习 架构 面试 核心知识点整理

LeetCode题解:98. 验证二叉搜索树,递归中序遍历过程中判断,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

DDIA 读书笔记(2)数据模型的存储与检索

莫黎

读书笔记

AI让远程交流“更清晰”:GAN消除视频通话中的抖动

Geek_459987

千万不要往 Shell 里粘贴命令!

大道至简

命令行

趣味科普丨一文读懂云服务器的那些事儿

华为云开发者社区

镜像 服务器 服务

typora增强-mac

老菜鸟

Typora

学了那么多 NoSQL 数据库 NoSQL 究竟是啥

哈喽沃德先生

数据库 nosql 非关系型数据库

架构师训练营第五周学习总结

尹斌

数据湖探索DLI新功能:基于openLooKeng的交互式分析

华为云开发者社区

数据 处理

《码出高效:Java开发手册》“码” 出高效的同时编写出高质量的代“码”。

Java成神之路

Java 程序员 架构 面试 编程语言

架构师训练营第一周课后作业

李日盛

Go语言内存管理三部曲(三)图解GC算法和垃圾回收原理

网管

go 内存管理 垃圾回收 GC GC算法

架构必修:领域边界划分方法--职责驱动设计(RDD)

马迪奥

架构 领域 架构师 RDD

ArCall功能介绍手册

anyRTC开发者

ios 音视频 WebRTC RTC 安卓

vivo 商城前端架构升级—前后端分离篇

vivo互联网技术

Java 前端 前后端分离

iOS性能优化 — 一、crash监控及防崩溃处理

iOSer

性能优化 ios开发 Crash 监控及防崩溃处理

JavaScript 类型 — 重学 JavaScript

三钻

Java 前端 前端进阶

微服务架构下如何保证事务的一致性

微服务架构下如何保证事务的一致性

ARCore 1.2让用户共享AR世界-InfoQ