2017-08-07 104 views
0

我想在Demo ARKit應用程序中使用蘋果提供的代碼進行平面檢測,但它不能一致地工作,對於某些情況下,它可以完美地檢測表面,但在某些情況下,它不會檢測到平面。然後,我也注意到在Demo ARKit應用程序中,平面檢測也會發生同樣的情況。 當它檢測到平面時,黃色方塊關閉,但每次都不是這樣。有沒有人面對過這個問題?如何使這種平面檢測行爲一致?ARKit平面檢測

回答

0

在房間增加更多的光線。 ArKit在光線充足的房間裏工作得更好。 您不能影響平面檢測。等待官方iOS 11發佈。

8

平面檢測在很大程度上取決於現實世界的條件。您需要良好的照明,具有相當數量的可見細節的表面以及相當數量的清晰平坦空間。例如,普通白色桌子或黑色桌布使平面檢測更慢/更不可靠。一張帶有可見穀物的木製辦公桌可以更好地工作,但如果它與鍵盤和鼠標以及電纜和設備混雜在一起(當然不是我們中的任何人會有這樣的辦公桌)。

平面檢測也涉及運動和視差三角測量。如果您將設備指向一個良好的表面(如上所述),但只能通過旋轉設備(例如,通過旋轉轉椅)來改變您在該表面上的視角,那麼您不會向ARKit提供比如果更有用的信息你只是保持不動。另一方面,如果您將設備側面或上下移動至少幾英寸,則其表面上的透視圖將獲得一些視差,這將加速/改善平面檢測。


更新:如果您正在開發依賴於平面檢測一個應用程序,它可以幫助提示用戶執行這些動作。他們在WWDC17的實驗室中展示的第三方演示有一些很好的應用特定的方法來實現這一點:樂高玩具直升機引導玩具直升機着陸,行屍走肉告訴玩家搜索地板爲殭屍足跡;等等。