我想就如何在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"功能,我不知道出了什么问题。
我应该使用一些不同的方法吗?你觉得我的错了吗?谢谢你的任何建议!