2016-07-30 64 views
0

我正在用Kudan創建一個應用程序,通過無標記追蹤顯示照片(2D精靈)。根據示例項目,我已成功進行了調整,以便2D平面始終垂直於相機,並放置在屏幕上我想要的位置。真的太棒了!團結團結:如何停止或重新設置無標記追蹤?

但我無法弄清楚如何通過腳本重新啓動/重置跟蹤。我總是可以通過阻止相機或搖動手機來強制重啓追蹤,但我希望通過一個按鈕進行追蹤 - 這與我在「Android版和iOS版」的「ArbiTrack基礎知識」指南中描述的行爲完全相同,但我無法在Unity中重現它。我應該發送一個停止跟蹤命令來讓跟蹤實例重新啓動(與在無標記模式下運行其中一個Unity項目時阻塞攝像頭的效果完全相同)。

的情況在這裏描述爲Android編碼:https://wiki.kudan.eu/ArbiTrack_Basics#Stopping_ArbiTrack

在那裏說叫這三樣東西:

//停止ArbiTrack arbiTrack.stop(); 。

//顯示目標節點 arbiTrack.getTargetNode()調用setVisible(真);

//更改枚舉和標籤以反映ArbiTrack狀態 arbitrack_state = ARBITRACK_STATE.ARBI_PLACEMENT;

回答

0

我找到了一種方法來做到這一點 - 雖然我不確定它是否理想。

查看TrackingMethodMarkerless.cs腳本,似乎StopTracking()不起作用 - 它禁用了跟蹤更新,但實際上並未禁用檢測實例。但是,如果現在便條,我增加了一個if語句到ProcessFrame()函數:

//

如果(disableMarkerless ==假)

trackable.isDetected = _kudanTracker.ArbiTrackIsTracking();

else

trackable.isDetected = false;

//

現在,更改disableMarkerless布爾運算符會禁用跟蹤。

+0

是的,該對象只在跟蹤「丟失」時被禁用,而不是在手動停止時禁用。這是未來版本可以更改的內容。 – DisturbedNeo