内容简介:Posted by Clayton Wilkinson, Developer Platforms EngineerToday, we’re releasing updates to ARCore, Google’s platform for building augmented reality experiences, and to Sceneform, the 3D rendering library for building AR applications on Android. These upda
Source: Introducing new APIs to improve augmented reality development with ARCore from Google Developer
Posted by Clayton Wilkinson, Developer Platforms Engineer
Today, we’re releasing updates to ARCore, Google’s platform for building augmented reality experiences, and to Sceneform, the 3D rendering library for building AR applications on Android. These updates include algorithm improvements that will let your apps consume less memory and CPU usage during longer sessions. They also include new functionality that give you more flexibility over content management.
Here’s what we added:
Supporting runtime glTF loading in Sceneform
Sceneform will now include an API to enable apps to load gITF models at runtime. You’ll no longer need to convert the gITF files to SFB format before rendering. This will be particularly useful for apps that have a large number of gITF models (like shopping experiences).
To take advantage of this new function — and load models from the cloud or local storage at runtime — use RenderableSource as the source when building a ModelRenderable.
private static final String GLTF_ASSET = "https://github.com/KhronosGroup/glTF-Sample-Models/raw/master/2.0/Duck/glTF/Duck.gltf"; // When you build a Renderable, Sceneform loads its resources in the background while returning // a CompletableFuture. Call thenAccept(), handle(), or check isDone() before calling get(). ModelRenderable.builder() .setSource(this, RenderableSource.builder().setSource( this, Uri.parse(GLTF_ASSET), RenderableSource.SourceType.GLTF2).build()) .setRegistryId(GLTF_ASSET) .build() .thenAccept(renderable -> duckRenderable = renderable) .exceptionally( throwable -> { Toast toast = Toast.makeText(this, "Unable to load renderable", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); return null; });
Publishing the Sceneform UX Library’s source code
Sceneform has a UX library of common elements like plane detection and object transformation. Instead of recreating these elements from scratch every time you build an app, you can save precious development time by taking them from the library. But what if you need to tailor these elements to your specific app needs? Today we’re publishing the source code of the UX library so you can customize whichever elements you need.
An example of interactive object transformation, powered by an element in the Sceneform UX Library.
Adding point cloud IDs to ARCore
Several developers have told us that when it comes to point clouds, they’d like to be able to associate points between frames. Why? Because when a point is present in multiple frames, it is more likely to be part of a solid, stable structure rather than an object in motion.
To make this possible, we’re adding an API to ARCore that will assign IDs to each individual dot in a point cloud.
These new point IDs have the following elements:
- Each ID is unique. Therefore, when the same value shows up in more than one frame, you know that it’s associated with the same point.
- Points that go out of view are lost forever. Even if that physical region comes back into view, a point will be assigned a new ID.
New devices
Last but not least, we continue to add ARCore support to more devices so your AR experiences can reach more users across more surfaces. These include smartphones as well as — for the first time — a Chrome OS device, the Acer Chromebook Tab 10.
Where to find us
You can get the latest information about ARCore and Sceneform on https://developers.google.com/ar/develop
Ready to try out the samples or have issues, then visit our projects hosted on GitHub:
除非特别声明,此文章内容采用 知识共享署名 3.0 许可,代码示例采用 Apache 2.0 许可。更多细节请查看我们的 服务条款 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
XML 在线格式化
在线 XML 格式化压缩工具
html转js在线工具
html转js在线工具