如要開始搭配 Android 使用 ARCore,您可以執行 ARCore 內含 hello_ar_kotlin 或 hello_ar_java 範例應用程式 將機器學習工作流程自動化這些範例應用程式使用 OpenGL, 算繪 2D 和 3D 向量圖形的程式設計介面。應用程式會顯示 使用者輕觸飛機即可放置 3D 模型。
設定開發環境
安裝 Android Studio 搭載 Android SDK Platform 7.0 (API 級別 24) 的 3.1 以上版本 或更高版本。
如果你是 Android 新手,請參閱 建構第一個 Android 應用程式。
開啟範例專案
在 Android Studio 中,複製 ARCore SDK GitHub 存放區。
方法有很多種:
如為已建立的 Android Studio 安裝項目:
- 從「Git」選單中選取 Clone。
- 在「Version control」中 下拉式選單,選取 Git 做為版本管控系統。
在 URL 欄位中,輸入以下網址的 ARCore GitHub 網址 存放區:
https://github.com/google-ar/arcore-android-sdk.git
您也可以開啟 Terminal 並發出
git clone
指令,如下所示: 如下:git clone https://github.com/google-ar/arcore-android-sdk.git
請按照以下方式開啟其中一個範例專案 (您必須明確開啟 建構及執行該程式)。
- 從 File 選單中選取 Open。
- 在 arcore-android-sdk/samples 資料夾中,選取 hello_ar_kotlin 或 hello_ar_java 資料夾,然後按一下 Open。
準備裝置或模擬器
您可以在支援的裝置上執行 AR 應用程式,也可以 。你必須更新「Google Play 服務 - AR 適用」 在執行應用程式前 在模擬器上回答問題詳情請見 在 Android Emulator 中執行 AR 應用程式 瞭解詳情 可能不準確或不適當
執行範例
確認您的 Android 裝置已連線至開發機器,然後按一下 Run 。
Android Studio 會將您的專案建構成可進行偵錯的 APK,然後安裝 APK。 然後在您的裝置上執行應用程式若需更多資訊,請參閲 建構並執行應用程式
系統可能會提示您安裝或更新 Google Play 服務 - AR 適用 。選取要安裝的「CONTINUE」應用程式 Google Play 商店,或是按照 更新「Google Play 服務 - AR 適用」。
hello_ar_java 應用程式可讓您在
偵測到的 AR 平面圖實作方法是使用 Android GL SurfaceView。
,此物件用於算繪相機預覽畫面和基本 AR 物件 (例如 Planes)
以及錨點您可以到下列網址取得 hello_ar_java 的轉譯架構範例:
com/google/ar/core/examples/java/common/samplerender
。
使用即時刊登位置
Instantplacement API 可讓使用者將 AR 物件放到畫面中,不必等待 ARCore 偵測表面幾何圖形。當使用者四處移動時,系統會即時修正物件的位置。
輕觸畫面即可放置物件。請務必繼續移動裝置 螢幕上出現該物體後,ARCore 就能 取得足夠的周遭周遭環境資料,精確地將 物件。
ARCore 偵測到表面幾何圖形並在 放置物件的區域,系統就會自動更新物件的姿勢 。
在圖 1 中,「即時放置」已停用,且表面幾何圖形未定義。 放在撞球桌右側的地板的物體 (四個小藍點) 看起來就會像是掛著,但他們的姿勢並未定義。
在圖 2 中,齒輪圖示下方的選單會啟用「即時刊登位置」功能。
在圖 3 中,啟用即時刊登位置功能後,系統會在場景中加入新物件。 會以灰階顯示 (而非彩色),表示 已更正出準確的姿勢
在圖 4 中,當新物件變色且姿勢正確無誤時, 偵測到表面幾何圖形 (由可追蹤格線描述)。
使用深度
啟用 Depth 後,ARCore 會考量場景中物件的幾何圖形和位置,並計算 放置在場景中,與場景中其他物件的相對位置的物件。這可讓您 讓場景中的物體遮住物體,也有助於
在圖 1 中,已停用深度。物件會放在撞球表下方。
在圖 2 中,當裝置在撞球表上移動時,物件就會出現 不受場景中的物體影響。
在圖 3 中,深度功能啟用。
在圖 4 中,物件現在會顯示為在撞球桌被當成裝置所遮住 會在場景中移動
後續步驟
- 嘗試建立並執行其他範例專案 。
- 如需更多可以建構及執行的範例應用程式,請參閱擴增實境程式碼研究室。
- 瞭解如何在應用程式中啟用 ARCore。
- 查看執行階段注意事項。
- 詳閱設計指南。