2017-08-28 53 views
0

我正在使用Apple https://developer.apple.com/sample-code/wwdc/2017/PlacingObjects.zip提供的示例使用POC。如何使用iOS 11(Scenekit)的ARKIT在水平面上找到障礙物?

現在放置物體在檢測到表面後正常工作。但是,當我將物體從檢測到的表面移動到某些其他空間(如牆壁或某些障礙物)時,它將與3D物體重疊。

在通過相機放置/移動3D物體時是否可以檢測障礙物? ARKit中是否有任何API可用於查找表面中的障礙物?

如果不是有任何解決方法或計算,我們可以做到找到障礙/牆壁,讓用戶不放置/移動對象之上/超出障礙/牆壁?

+1

在牆壁和這樣的條款,ARKit仍無法檢測到垂直表面上。因此,檢測這些或甚至非水平表面可能存在問題。它可能檢測到的唯一'障礙'是你放置的其他虛擬物體,你可以通過處理碰撞並給它們物理體來處理。可悲的是我不認爲你能夠做你想要的東西 –

+0

@AlanS有沒有什麼辦法可以找到虛擬物體的放置位置是否是水平面? – yaali

+0

對不起,我沒有特別的理解。你是指物體上的空間還是物體結束的空間?對於物體上方的空間,我不太確定如何檢查物體下方的空間,本質上可以使用水平面檢測。 –

回答

1

不幸的是,在這個階段的簡短回答是否定的。

檢測垂直面或場景中的物體相當困難。我的理解是,蘋果正在研究垂直平面檢測,並且有幾個初創公司正在做物體檢測。

最好的選擇將是等待6d.ai,因爲這是他們正在處理的內容(儘管他們隱身很難完全講清楚)。

如果您有任何Core ML經驗,那麼您可以使用對象檢測模型(查找第三方模型)來識別場景中的對象,並將其用作禁止幾何圖形的代理。還有Matroid提供對象檢測/跟蹤功能。

以下不是特定的ARKit/iOS示例,但稍後可能會對您有所幫助。

Vuforia有場景的理解支持:它還有https://library.vuforia.com/articles/Training/Getting-Started-with-Smart-Terrain

Hololens那種具有支持:https://elbruno.com/2017/04/21/hololens-spatial-understanding-vs-spatial-mapping-and-a-step-by-step-on-how-to-use-it/