gpt4 book ai didi

java - ARCore – 如何将真实世界对象放置在 3d 模型前面?

转载 作者:行者123 更新时间:2023-12-04 15:24:42 25 4
gpt4 key购买 nike

我使用 ARCore Sceneform 插件创建了一个 Android AR 应用程序。我能够将 3D 模型放置在突出显示的平面上。但即使我将一个真实物体放在相机前(或者只是在相机前挥动我的手),它也只能在 3d 物体后面可见。

如何在 Android 中将真实世界的对象放置在 3D 对象的前面?

我们可以使用任何其他插件来实现吗?

最佳答案

ARCore 1.18

ARCore 1.18 现在通过全新的 Depth API 支持 Occlusion 功能。检查a list of Depth API supported devices了解您的 Android 智能手机是否支持遮挡功能。

enter image description here

Google 文档对 Depth API 的描述如下:

The Depth API uses a depth-from-motion algorithm to create depth maps, which you can obtain using acquireDepthImage() method. This algorithm takes multiple device images from different angles and compares them to estimate the distance to every pixel as a user moves their phone. If the device has an active depth sensor, such as a time-of-flight sensor (or ToF sensor), that data is automatically included in the processed depth. This enhances the existing depth map and enables depth even when the camera is not moving. It also provides better depth on surfaces with few or no features, such as white walls, or in dynamic scenes with moving people or objects.


ARCore 1.17

但是您不能在之前的 ARCore 1.17 中执行任何Object Occlusion 操作。它不支持深度 channel 合成和深度 channel 操作,相机散焦功能除外。因此,您在 AR 应用程序中使用的所有虚拟模型都使用 Over 放置在真实世界的视频上。使用以下公式进行合成操作:

Argb * Aa + Brgb * (1.0 – Aa)

//  where Argb is RGB of a foreground image
// Aa is Alpha channel of a foreground image
// Brgb is RGB of a background video
// and 1.0 is a normalised value (in range 0.0...1.0)

// (Argb * Aa) is a premultiplied RGBA image
// (1.0 – Aa) is an inversion of a foreground alpha

但是,您可以获得 Occlusion Management功能(虚拟按钮示例),如果您在 Android 设备的 Unity 中使用 PTC Vuforia 9.0。或者如果您使用适用于 iOS 设备的 ARKit 3.5 或 ARKit 4.0。 ARKit 4.0 为您提供了最广泛的深度 channel 工具集,包括新的 Depth API。有People Occlusion ,面部遮挡和Object Occlusion特点。

this post您可以阅读 ARKit 中遮挡的主要原则。

关于java - ARCore – 如何将真实世界对象放置在 3d 模型前面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62513460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com