2017-07-31 92 views
1

我正在構建一個使用ARToolkit for Unity3D的AR iOS應用程序。我的目標是在世界空間模式下創建一個用戶界面,以便當我將手機相機指向圖像時,它將以3D形式顯示用戶界面(例如選擇產品或滾動信息列表等)。當畫布渲染模式設置爲世界空間時沒有事件

我說明如下:

https://github.com/artoolkit/ar6unity-wiki/wiki/Setting-Up-Your-First-ARToolKit-for-Unity-Scene

https://github.com/artoolkit/ar6unity-wiki/wiki/ARToolKit-for-Unity-on-iOS

我沒有問題,使得UI渲染模式=屏幕空間疊加。這意味着無論攝像機移動如何,UI畫布都會「固定」在屏幕上。但是,當我使用World Space時,UI觸摸輸入事件不會觸發。這裏是我的項目的設置:

標記2是圖像檢測發生的地方。然後,它應該顯示2個立方體,並用按鈕1個UI帆布和滾動視圖(這個截圖之外 - 對此並不重要)

enter image description here

這是我的畫布屬性。請注意,我把它放在默認層,因此UI將顯示和渲染模式=世界空間:

enter image description here

OK,我舉起我的形象,它檢測並顯示2個立方體和按鈕。但是任何點擊或按鈕都不起作用。以前在UI層和屏幕空間覆蓋,我可以擊中按鈕,它工作正常(基本上輸出一些文本在控制檯 - 無所謂)。

enter image description here

反正我試圖用一個新的項目,我不使用的ARToolKit,但只是一個普通的攝像頭進行測試。一切正常。所以它肯定與ARToolkit中斷移動觸摸事件有關。

請幫助並指出我爲什麼使用UI World Space在ARToolkit中無法使用移動觸摸輸入的原因。

回答

1

這實際上是一些統一的詭計。

你必須瞭解以下信息:

  • 如果你改變了畫布世界空間,帆布將尋找一個 相機與標籤「MainCamera」並把它作爲相機 執行光線投射。

    enter image description here

  • 如果沒有找到與「MainCamera」標籤相機,統一將 使用,在畫布事件相機插槽設置攝像頭。

    enter image description here

  • 最後,如果與「MainCamera」標籤相機沒有找到, 沒有在畫布事件相機插槽沒有攝像頭設置,有 就沒有光線投射和你的用戶界面不會發送任何事件。

所以,你要麼必須相機的標籤更改爲「MainCamera」或主攝像頭插在畫布上事件相機槽或執行這兩個操作,如果他不與工作artoolkit。從您發佈的屏幕截圖看,該插槽未分配,因爲它顯示「無」

+0

這是一個重要的細節,沒有提到任何地方。謝謝。我所要做的就是將MainCamera標籤放入ARToolkit靜態相機對象中。咄! –

+0

不客氣!有時候Unity沒有提到DOC中的東西,你必須通過犯錯來解決這些問題。 – Programmer