Kudan プラグイン for Unity の StartInputFromImage メソッドの使い方について教えてください。
Kudan TrackingMethodMarkerless によって処理されるテクスチャとして、通りの画像 (たとえば、これ: https://upload.wikimedia.org/wikipedia/commons/3/39/Downtown_Temple,_TX_at_Main_Street_IMG_2384.JPG )を使用したいとします。.
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
しかし、エディターでアプリを実行すると、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) in TrackingMethodMarkerless.ProcessFrame() - _kudanTracker.ArbiTrackGetPose(アウト位置、アウト方向) が呼び出されます
3) TrackerAndroid.ArbiTrackGetPose() で - m_KudanAR_Instance.Call ("updateArbi", _floorHeight) が呼び出されますが、適切に実行されません。次のコードはコンパイルされません。そして、「updateArbi」機能を完全に調べることができないため、何が問題なのかわかりません。
別のアプローチを使用する必要がありますか?私の間違いに気づきましたか?ご提案ありがとうございます。