自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

四分鐘內(nèi)明白 ARCore + 上手

企業(yè)動(dòng)態(tài)
ARCore 是一個(gè)用來在 Android 上搭建增強(qiáng)現(xiàn)實(shí)(Augmented Reality, AR)應(yīng)用的平臺(tái)。ARCore 已經(jīng)進(jìn)入搶先體驗(yàn)階段,您現(xiàn)在就可以開始嘗試搭建全新 AR 應(yīng)用。

[[203839]]

最速了解 ARCore

ARCore 是一個(gè)用來在 Android 上搭建增強(qiáng)現(xiàn)實(shí)(Augmented Reality, AR)應(yīng)用的平臺(tái)。我們在里面使用了三項(xiàng)關(guān)鍵技術(shù)來整合虛擬內(nèi)容和現(xiàn)實(shí)世界:

  • 運(yùn)動(dòng)跟蹤技術(shù)讓手機(jī)能夠理解并追蹤自身在環(huán)境中的相對位置;
  • 環(huán)境理解技術(shù)讓手機(jī)可以偵測到扁平的水平面,如地表或咖啡桌;
  • 光照強(qiáng)度估測技術(shù)可以估量當(dāng)前環(huán)境的光照情況。

重點(diǎn)來了:ARCore 已經(jīng)進(jìn)入搶先體驗(yàn)階段,您現(xiàn)在就可以開始嘗試搭建全新 AR 應(yīng)用。這同時(shí)也是一個(gè)難得的機(jī)遇,您可以利用它來為早期版本的 API 提供反饋信息。事實(shí)上我們準(zhǔn)備這篇文章也是希望幫助您邁出旅程的***步,幫助您在整個(gè) Android 生態(tài)系統(tǒng)中開啟 AR 能力。

[[203840]]

哪些設(shè)備能用?

ARCore 被設(shè)計(jì)用來支持?jǐn)?shù)量廣大的 Android 設(shè)備,要求系統(tǒng)不低于 Android N。在 SDK 預(yù)覽期間,ARCore 支持下列設(shè)備:

  • Google Pixel 和 Pixel XL
  • Samsung Galaxy S8 (SM-G950U, SM-G950N, SM-G950F, SM-G950FD, SM-G950W, SM-G950U1)

ARCore 的運(yùn)作原理是什么?

簡單來說的話,ARCore 其實(shí)只做兩件事:

  • 在移動(dòng)設(shè)備移動(dòng)時(shí)追蹤它們的位置;
  • 逐漸用自己的方式對現(xiàn)實(shí)世界進(jìn)行理解。

ARCore 的運(yùn)動(dòng)跟蹤技術(shù)使用手機(jī)攝像頭來辨識關(guān)鍵點(diǎn)(又叫做特征點(diǎn)),并跟蹤這些點(diǎn)隨時(shí)間運(yùn)動(dòng)的軌跡。結(jié)合了這些點(diǎn)的移動(dòng)軌跡和手機(jī)的慣性傳感器之后,ARCore 就可以在手機(jī)移動(dòng)時(shí)判定它的位置和走向。

能識別點(diǎn),自然就能識別面。在辨識關(guān)鍵點(diǎn)的基礎(chǔ)上,ARCore 還可以偵測平面,比如桌子或地板,并估測它周圍的平均光照強(qiáng)度。這些能力在結(jié)合起來之后,可以讓 ARCore 建立起周邊世界的概念。

在 ARCore 了解了周邊的現(xiàn)實(shí)世界后,您就可以把虛擬的物品、標(biāo)注信息或其他您想要展現(xiàn)的內(nèi)容與現(xiàn)實(shí)世界進(jìn)行無縫整合。您可以在咖啡桌角落上放一只打盹的小貓,或是在畫作上添加關(guān)于畫家個(gè)人信息的注釋。運(yùn)動(dòng)跟蹤功能意味著您可以到處移動(dòng),從不同的角度觀看這些物品,在您掉頭離開房間后,只要您返回原處,那只小貓或那條注釋仍會(huì)原封不動(dòng)地呆在那里。

當(dāng)然,本文的目標(biāo)是 “最速了解”,所以這里就不展開細(xì)說了。有興趣的讀者可以打開下面的鏈接了解更詳細(xì)的運(yùn)作概念:

https://developers.google.cn/ar/discover/concepts

最速上手

我們相信下面 4 個(gè)平臺(tái)已經(jīng)能覆蓋大多數(shù)開發(fā)者的選擇了,大家可以現(xiàn)在就跳至自己的主場,按照說明開始使用我們的 SDK。

1. Android Studio 上手

Android Studio 上手

搭建開發(fā)環(huán)境:

  • 安裝版本 2.3 或更高的 Android Studio,內(nèi)含版本 7.0(API 等級 24)或更高的 Android SDK Platform。
  • 需要使用上面提到的能支持 ARCore 的 Android 設(shè)備。
  • 需要為 Android Studio 提供 ARCore SDK,您可以:下載 SDK preview for Android Studio 并解壓- 或 -使用這條命令復(fù)制 SDK 進(jìn)來:
    1. git clone https://github.com/google-ar/arcore-android-sdk.git 
  • 您需要大概了如何使用 OpenGL。如果您之前沒有接觸過 OpenGL,我們幫您準(zhǔn)備了一篇教程:https://developer.android.cn/training/graphics/opengl/index.html

*注意,必須使用受支持的實(shí)體設(shè)備。ARCore 不支持 Android Emulator 等虛擬設(shè)備。在設(shè)備上作如下準(zhǔn)備:

  • 啟用開發(fā)者選項(xiàng)
  • 啟用 USB debugging
  • 在設(shè)備上安裝 ARCore Service:下載 ARCore Service(https://github.com/google-ar/arcore-android-sdk/releases/download/sdk-preview/arcore-preview.apk)
  • 使用 USB 線纜連接您的 Android 設(shè)備和開發(fā)機(jī)
  • 使用這條 adb 命令安裝服務(wù):
    1. adb install -r -d arcore-preview.apk 

打開示例項(xiàng)目:

在 Android Studio 中,找到 /samples/java_arcore_hello_ar,并打開 HelloAR 示例項(xiàng)目。

示例項(xiàng)目依賴于特定版本的軟件,如 Gradle 和 Android SDK 等。如果所需的依賴項(xiàng)未能安裝,Android Studio 將請求在您的開發(fā)機(jī)上對其進(jìn)行下載和安裝。

請確保您的 Android 設(shè)備連接到了開發(fā)機(jī),并在 Android Studio 中點(diǎn)擊 “運(yùn)行”。隨后,選中您的設(shè)備作為部署目標(biāo),并點(diǎn)擊 “OK”。

Android Studio 會(huì)將您的項(xiàng)目寫入一個(gè)可 debug 的 APK,并安裝該 APK,隨后在您的設(shè)備上運(yùn)行該應(yīng)用。

Hello, AR!

△ Hello, AR!

隨著設(shè)備的移動(dòng),應(yīng)用會(huì)自動(dòng)偵測到水平表面,并繪制出棱形網(wǎng)格。點(diǎn)擊網(wǎng)格即可在平面上放置 Android 機(jī)器人。

之后,您可以通過 “添加為依賴項(xiàng)” 的方式,將 ARCore AAR Library 整合至現(xiàn)有的項(xiàng)目中。您的應(yīng)用的 minSDKVersion 必須為 19 或更高。

Unity 上手

Unity 上手

搭建開發(fā)環(huán)境:

  • 安裝版本 7.0(API 等級 24)或更高的 Android SDK。
  • 安裝 Unity 2017.2 Beta 9,并附加 Android Build Support 組件。
  • 您需要在 Unity 中采用 ARCore SDK,您可以:下載 SDK Preview for Unity 并解壓- 或 -使用這條的命令復(fù)制儲(chǔ)存庫:
    1. git clone https://github.com/google-ar/arcore-unity-sdk.git 

實(shí)體設(shè)備的準(zhǔn)備工作請參考上面 Android Studio 的上手部分。

創(chuàng)建新項(xiàng)目:

  • 在 Unity 中選擇 “文件” > “新項(xiàng)目”。
  • 將您的項(xiàng)目命名為 HelloAR,保留 3D 模式的選中狀態(tài),并點(diǎn)擊 “創(chuàng)建項(xiàng)目”。

導(dǎo)入 SDK:

  • 導(dǎo)入 arcore-unity-sdk-preview.unitypackage:在 Unity 里點(diǎn)擊菜單 “資源” > “導(dǎo)入包” > “全部”,導(dǎo)入 Unity 包的全部內(nèi)容。
  • 在 Unity 的 Project 窗口中,您可以看到 Unity SDK 文件和 HelloAR 示例應(yīng)用。

配置 Build 設(shè)置:

點(diǎn)擊 “文件” > “Build 設(shè)置” 以打開 Build Settings 窗口。

配置 Build 設(shè)置

然后做如下修改:

(1)將目標(biāo)平臺(tái)更改為 Android 并點(diǎn)擊 Switch Platform。

(2)點(diǎn)擊 Player Settings 打開 Android Player Settings,隨后更改以下設(shè)置:

  • Other Settings > Multithreaded Rendering: 關(guān)閉
  • Other Settings > Package Name: 改為一個(gè)獨(dú)特的應(yīng)用 ID,看起來像是 JAVA 包的名稱,如:com.example.helloAR
  • Other Settings > Minimum API Level: Android 7.0 或更高
  • Other Settings > Target API Level: Android 7.0 或 7.1
  • XR Settings > Tango Supported: 開啟

(3)Scenes in Build 列出了您的項(xiàng)目中有哪些場景會(huì)被包含在您的構(gòu)建中。按照下面的方法即可從 HelloAR 示例應(yīng)用中添加場景到您的構(gòu)建中:

  • 在項(xiàng)目窗口中通過 Assets > GoogleARCore > HelloARExample > Scenes 選中場景。
  • 點(diǎn)擊場景并將其放進(jìn) Scenes in Build。

編譯并運(yùn)行示例應(yīng)用:

請確保您的 Android 設(shè)備連接到了開發(fā)機(jī),并點(diǎn)擊 “編譯并運(yùn)行”。Unity 會(huì)將您的項(xiàng)目寫入一個(gè) Android APK,并在您的設(shè)備上安裝并運(yùn)行該項(xiàng)目。

Android APK

隨著設(shè)備的移動(dòng),應(yīng)用會(huì)自動(dòng)偵測到水平表面,并繪制出棱形網(wǎng)格。點(diǎn)擊網(wǎng)格即可在平面上放置 Android 機(jī)器人。

您可以使用 Android Logcat 查看日志信息,也可以使用 Android Device Monitor 對設(shè)備進(jìn)行詳細(xì)分析。

Unreal 上手

Unreal 上手

搭建開發(fā)環(huán)境:

(1)遵循下面三個(gè)步驟即可使用 ARCore 插件搭建 Unreal Engine:

  • 取得 Epic's GitHub 儲(chǔ)存庫的使用權(quán)限:(https://www.unrealengine.com/ue4-on-github)
  • 使用這條代碼獲得代 ARCore 插件的 Unreal 源代碼:
    1. git clone -b 4.17-arcore-sdk-preview https://github.com/google-ar-unreal/UnrealEngine.git 
  • 從源代碼編譯 Unreal Engine。

(2)參考 Unreal Android Quick Start:

(https://docs.unrealengine.com/latest/INT/Platforms/Android/GettingStarted/index.html)

搭建 Unreal 編輯器以便進(jìn)行 Android 開發(fā)。請確保安裝了版本 7.0(API 等級 24)或以上的 Android SDK Platform。

(3)獲得 Unreal HelloAR 示例項(xiàng)目。您可以:直接從

https://github.com/google-ar/arcore-unreal-sdk/releases/download/sdk-preview/arcore-unreal-sdk-preview.zip下載示例項(xiàng)目庫并解壓。- 或 -使用下面的命令復(fù)制儲(chǔ)存庫:

  1. git clone https://github.com/google-ar/arcore-unreal-sdk.git 

實(shí)體設(shè)備的準(zhǔn)備工作請參考上面 Android Studio 的上手部分。

打開示例項(xiàng)目 HelloAR:

打開示例項(xiàng)目 HelloAR

設(shè)定 Android 開發(fā)設(shè)置:

  • 在菜單欄中,點(diǎn)擊 “編輯” > “項(xiàng)目設(shè)置”
  • 在 Android SDK 平臺(tái)下的 Project Settings 中,請確保所有路徑正確地設(shè)置到了您的 Android SDK 和 Android NDK 安裝位置。將 SDK API Level 設(shè)置為 “matchndk”,然后將 NDK API Level 設(shè)置為 android-24 或更高

編譯并運(yùn)行示例應(yīng)用:

打包 HelloAR 項(xiàng)目。在菜單欄中選擇 File > Package Project > Android > Android (ASTC)。

此時(shí)會(huì)出現(xiàn)一個(gè)對話框。在對話框中創(chuàng)建名為 Builds 的新文件夾并點(diǎn)擊 Select。

Unreal 開始打包項(xiàng)目,并在狀態(tài)窗口(位于右下角)中顯示進(jìn)程。想要詳細(xì)了解打包進(jìn)程,參見 Output Log 窗口。

項(xiàng)目打包完成后,請確保您的設(shè)備仍連接著電腦。打開 Builds 文件夾,雙擊文件 Install_HelloARUnreal_Development-armv7-es2.bat (Windows 用戶)或 Install_HelloARUnreal_Development-armv7-es2.command (Mac 用戶),在您的 Android 智能手機(jī)上安裝項(xiàng)目。

安裝完成后,在您的設(shè)備上尋找名為 HelloAR UE4 的應(yīng)用,并開始運(yùn)行。

隨著設(shè)備的移動(dòng),應(yīng)用會(huì)自動(dòng)偵測到水平表面,并繪制出棱形網(wǎng)格。點(diǎn)擊網(wǎng)格即可在平面上放置 Android 機(jī)器人。

Web 上手

在上手前大家需要了解,AR 仍然是最***的技術(shù),今天的 Web 上并沒有適用于 AR 的標(biāo)準(zhǔn),開發(fā)者們可以使用網(wǎng)絡(luò)工具進(jìn)行實(shí)驗(yàn),利用 AR 來增強(qiáng)網(wǎng)絡(luò)體驗(yàn),手段包括 JavaScript 代碼庫、three.ar.js 以及適用于 ARCore on Android 和 ARKit on iOS 的試驗(yàn)型瀏覽器等。

請注意:WebARonARCore 和 WebARonARKit 不是全功能的網(wǎng)絡(luò)瀏覽器。它們基于的 JavaScript API 或是不夠標(biāo)準(zhǔn),或是不在標(biāo)準(zhǔn)化路徑上。它們的意義僅限于供網(wǎng)絡(luò)開發(fā)者來完成自己的實(shí)驗(yàn)。

請遵循下面鏈接中的指令來在您所選擇的平臺(tái)上下載并安裝應(yīng)用:

  • WebARonARCore (Android, https://github.com/google-ar/WebARonARCore)
  • WebARonARKit (iOS, https://github.com/google-ar/WebARonARKit)

查看示例:

下面的示例要求 WebARonARCore 或 WebARonARKit,使用 three.ar.js 進(jìn)行搭建,three.ar.js 是為 three.js 所準(zhǔn)備的 helper 庫:

  • SpawnAtCamera (https://google-ar.github.io/three.ar.js/examples/spawn-at-camera.html)
  • SpawnAtSurface (https://google-ar.github.io/three.ar.js/examples/spawn-at-surface.html)
  • Reticle (https://google-ar.github.io/three.ar.js/examples/reticle.html)
  • Boilerplate (https://google-ar.github.io/three.ar.js/examples/boilerplate.html)

想要為 WebARonARCore 和 WebARonARKit 搭建屬于自己的 AR 體驗(yàn),請遵循 three.ar.js的操作指引:

https://github.com/google-ar/three.ar.js#threearjs

【本文是51CTO專欄機(jī)構(gòu)“谷歌開發(fā)者”的原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者(微信公眾號:Google_Developers)】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2009-11-12 16:25:35

Oracle嵌套循環(huán)

2009-11-06 14:01:15

Visual Stud

2017-09-13 09:15:28

蘋果iPhone8

2024-08-05 09:30:00

2023-06-28 07:45:51

Java線程狀態(tài)

2022-10-26 13:52:00

機(jī)器人谷歌

2021-12-21 15:56:13

SolarWinds

2023-12-21 12:03:14

人工智能GPT驅(qū)動(dòng)Coscientis

2017-06-07 18:40:33

PromiseJavascript前端

2020-11-06 08:54:43

Vue 3.0函數(shù)代碼

2022-02-23 20:38:32

云原生集群Postgres

2023-12-21 15:57:11

AI工具

2017-05-18 11:11:20

Google谷歌開發(fā)者大會(huì)

2023-03-27 09:40:01

GoWebAssembl集成

2021-11-07 23:46:32

MySQLSQL索引

2019-06-05 09:42:53

Kafka App 消息隊(duì)列

2013-08-12 17:27:53

遠(yuǎn)程控制軟件

2023-02-16 08:26:41

2025-03-12 10:05:01

運(yùn)維Vim編輯

2022-03-04 16:06:33

數(shù)據(jù)庫HarmonyOS鴻蒙
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號