AR Unity kudan markerless - StartInputFromImage

时间:2016-11-27 19:05:34

标签: image unity3d augmented-reality marker kudan

我想就如何在Unity的Kudan插件中使用StartInputFromImage方法提出一些指导。

我想说我想使用街道的图像(例如:https://upload.wikimedia.org/wikipedia/commons/3/39/Downtown_Temple,_TX_at_Main_Street_IMG_2384.JPG)作为将由Kudan TrackingMethodMarkerless处理的纹理。

在Start()的KudanTracker类中有以下代码: //启动相机

#if UNITY_EDITOR
if (_trackerPlugin.StartInputFromCamera(_playModeWebcamID, DefaultCameraWidth, DefaultCameraHeight)) 
#else
if (_trackerPlugin.StartInputFromCamera(0, DefaultCameraWidth, DefaultCameraHeight)) 
#endif

我认为我应该在这里更改输入法,所以我改变了它:

#if UNITY_EDITOR
if (_trackerPlugin.StartInputFromImage(myImage))
#else
if (_trackerPlugin.StartInputFromImage(myImage))
#endif

BUT: 当我在编辑器中运行应用程序时,Unity崩溃并出现错误。 我怀疑这可能是由于TrackerWindows实现的方法如下所示:

public override bool StartInputFromImage(Texture2D image)
{
    // First stop existing input
    bool wasTracking = _isTrackingRunning;
    StopInput();
    // Resume tracking
    if (wasTracking)
    {
        StartTracking();
    }
    return true;
}

......我的意思是,这实际上对图像没有任何作用。

在TrackerAndroid中实现相同的方法看起来更有前途,所以我选择了它,因为我毕竟正在开发Android应用程序。

但是这里的代码卡在ArbiTrackGetPose()方法中。

过程如下:

1)在KudanTracker.Update()中调用_currentTrackingMethod.ProcessFrame()

2)在TrackingMethodMarkerless.ProcessFrame()中调用_kudanTracker.ArbiTrackGetPose(out position,out orientation)

3)在TrackerAndroid.ArbiTrackGetPose() - m_KudanAR_Instance.Call(" updateArbi",_ flloHeight)被调用但未正确执行 以下代码未编译。 因为我无法全面检查" updateArbi"功能,我不知道出了什么问题。

我应该使用一些不同的方法吗?你觉得我的错了吗?谢谢你的任何建议!

0 个答案:

没有答案