gpt4 book ai didi

c# - ARKit 和 Vuforia - 标记识别

转载 作者:可可西里 更新时间:2023-11-01 03:56:32 27 4
gpt4 key购买 nike

我正在开发一个 iOS 应用程序,我需要识别一个标记(很可能是二维码)并使用 ARKit 在其上放置一些 3D 内容。

我在考虑 Vuforia 和 ARKit 的组合。

是否可以仅使用 Vuforia 来识别标记并获取其位置,然后将此数据“传递”给 ARKit?

  • 我需要识别标记才能选择相应的 3D 内容。
  • 我只需要获取标记的位置,以便在那里放置 3D 内容,之后我想使用 ARKit 进行跟踪。

这可能吗?
是否有其他可与 ARKit 一起使用的标记识别解决方案?

最佳答案

问题 1:您可以处理标记的识别(在 Vuforia 中称为图像目标)创建脚本:

public class CustomTrackableEventHandler : MonoBehaviour,
ITrackableEventHandler
{
...

public void OnTrackableStateChanged(
TrackableBehaviour.Status previousStatus,
TrackableBehaviour.Status newStatus)
{
if (newStatus == TrackableBehaviour.Status.DETECTED ||
newStatus == TrackableBehaviour.Status.TRACKED ||
newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
{
OnTrackingFound();
// **** Your own logic here ****
}
else
{
OnTrackingLost();
}
}
}

然后您可以用这个脚本替换 DefaultTrackableEventHandler。

enter image description here

Q2:我只需要获取标记的位置,以便将 3D 内容放在那里,然后我想使用 ARKit 进行跟踪。

您可以添加一个空游戏对象作为标记 (ImageTarget) 的子对象,层次结构为:

YourMarker(ImageTarget)
|__EmptyPlaceHolder

识别出标记后,您可以通过编程方式获取其位置:

var placeHolder = GameObject.Find("EmptyPlaceHolder");
if(placeHolder != null){
Debug.Log(placeHolder.transform.position); // all the location, localPosition, quaternion etc will be available to you

}

关于c# - ARKit 和 Vuforia - 标记识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46761440/

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