成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

AR視覺給移動生活帶來的變革

開發 VR/AR
對于AR和VR設備的普及化,可能還需要一個比較長的過程,其中包括硬件升級和軟件升級的過程,也可能包括用戶對消費需求的升級。所以前景和市場還是很有希望的,因為它的發現大大提升了之前體感類游戲或者交互的體驗,讓用戶能夠隨時隨地的置身于各式各樣的虛擬場景,并得到非常逼真的體驗。

作者 | 張辰,單位:中國移動智慧家庭運營中心

?Labs 導讀

隨著移動技術的發展,5G技術的普及,AR/VR行業也迎來了新的春天。由于AR/VR行業的應用,需要大數據量的計算、渲染、以及配套的硬件設備普及,所以為了讓你我有更好的觀感,對于硬件和軟件的要求是非常高的。不過隨著科技的發展,這一切都成為了可能,本文就帶你了解一下AR/VR在移動開發中的一些技術方案。

Part 01  AR的開發技術難點 

在AR技術逐漸火熱的今天,很多一線互聯網公司都組件了自己的團隊來開發獨立的AR框架。以下是一些常見的AR技術平臺和運營的公司。

圖片

那么AR的開發技術難點在哪里呢?

界面問題:缺乏通用的UI隱喻

盡管人們知道可以用AR做些什么,但并不確定如何使用這項突破性的技術,以及如何運用一種共通的語言幫助夢想照進現實。AR 的難點在于它是一項全新的技術,無法真正受益于任何界面隱喻。我們不能借鑒先例,而且沒有過多的背景知識。比如,如何體現現實環境、虛擬環境、并讓用戶理解移動手機,掃描環境,互動或觀看虛擬物體,并且提示行動避開危險等,都尚未形成共通的、直覺的 UI 習慣。如果無法解決UI的隱喻問題,就很難抓住 AR 為我們帶來的獨特數字機遇。

能耗問題:功耗大、易發熱

目前市面上的CPU和GPU大部分都是為通用設備開發,并沒有專有為AR設備開發的芯片,導致目前的CPU 尺寸(Size)雖然在微型化處理器和顯卡方面取得了很大進展,但是仍然沒有達到讓高端 AR 成為現實的水平。

功耗(Power)渲染AR體驗的過程非常耗電。事實上功耗越大,產生的熱量也就越多,產生的這些熱量又會反過來降低處理器的速度,甚至使其完全短路。設備越小,散熱速度就越慢。

內容問題:3D設計門檻高

AR領域內容的設計需要3D設計的知識。目前,擁有這項能力的技術人員基數較小,除非是專業的動畫師、平面設計師、機械工程師或視頻游戲制作人,否則很難在這方面有太多經驗。

圖片

Part 02  ArCore在Android端的應用

目前的這些方案是如何比較好地應用到移動開發中的呢?我們以ARCore舉例來看下想要在移動端開發一個AR項目需要做哪些事情。

首先要明確的是平臺基于Android,開發IDE基于Android Studio(需要 Android Studio 3.1 或更高版本以及 Android SDK Platform 7.0<API 級別 24>或更高版本)。其次我們要在需要運行AR工程的設備上安裝Google Play,由于對于ARCore來講,大部分的數據計算和算法運行都需要google_play_service支持,所以升級到最新版本Google_Play_Services_for_AR_1.31.0_x86_for_emulator.apk非常重要。

然后在你的AR項目中找到Manifest添加:

<uses-permission android:name="android.permission.CAMERA" />

<!-- Limits app visibility in the Google Play Store to ARCore supported devices
(https://developers.google.com/ar/devices). -->
<uses-feature android:name="android.hardware.camera.ar" />

<application …>


<!-- "AR Required" app, requires "Google Play Services for AR" (ARCore)
to be installed, as the app does not include any non-AR features. -->
<meta-data android:name="com.google.ar.core" android:value="required" />
</application>

feature支持,并在gradle中導入ARCore支持:

implementation 'com.google.ar:core:1.31.0'

同步后在代碼段中就可以添加對于ARCore的檢查代碼了:

 ArCoreApk.Availability availability = ArCoreApk.getInstance().checkAvailability(this);

即使“面向AR的Google Play服務”隨AR必備應用一同安裝,使用不受支持的設備的用戶可能也可以從外部來源安裝該服務。使用checkAvailability()檢查是否支持ARCore可確保獲得一致的體驗。

checkAvailability()可能需要查詢網絡資源來確定設備是否支持 ARCore。在此期間,它將返回UNKNOWN_CHECKING。為了縮短感知延遲時間并減少彈出式窗口,應用應在其生命周期的早期階段調用一次checkAvailability()以啟動查詢,并忽略返回值。這樣,在調用 maybeEnableArButton() 時,緩存結果將立即可用。

由于AR設備必須用到相機,所以還請在使用AR設備前,請求并開啟相機權限:

if (!CameraPermissionHelper.hasCameraPermission(this)) {
CameraPermissionHelper.requestCameraPermission(this);
return;
}

此時我們準備工作就做好了,就可以構建一個AR Session了。

Part 03 AR Client開發

AR Session 是所有AR流程的一個集合,(如運動跟蹤、環境理解和光照估算等),在Android中用于管理 AR 系統狀態并處理會話生命周期。官方提供的接口提供允許應用創建、配置、啟動或停止會話的方法。最重要的是,它可以讓應用接收允許訪問相機圖像和設備位置方向的幀。

下面我們來創建Session吧,幾行代碼就可以完成。

public void createSession() {
// Create a new ARCore session.
session = new Session(this);

// Create a session config.
Config config = new Config(session);

// Do feature-specific operations here, such as enabling depth or turning on
// support for Augmented Faces.

// Configure the session.
session.configure(config);
}

是不是很簡單,同樣,關閉Session 可以直接調用:

session.close();

即可。

然后我們在Activity中構建渲染循環,

  • 創建渲染用GlSurfaceView ,并實現渲染render類。同時創建自己繪制Mesh需要的渲染類,如planetRender(繪制地面),BackgroundRenderer (繪制背景)等。
  • 在OnSurfaceCreate 渲染線程回調中,添加對于mesh,render,texture的初始化操作,申請GPU空間。
  • 在OnSurfaceChanged回調中,設置渲染緩沖的視口。
  • 在OnDrawFrame中加入每幀的渲染邏輯,
Frame frame = session.update();

可以獲取當前幀的信息,其中包括相機信息,RGB圖,depth圖等。

Camera camera = frame.getCamera();

可以獲取到當前相機狀態,如是否處在跟蹤物體,是否跟蹤失敗等。通過相機的不同狀態來繪制三維物體,可以動態的改變三維物體的顯示(如位置,大小,旋轉,是否被遮擋等)。

Frame中同樣存儲這點云、錨點、平面這些檢測信息,你同樣可以根據相機得到視點信息,重新構建出一個三維世界,把以上得到的信息具體的繪制到場景中。在現實的臺球桌面上,虛擬化了一個錐形物體,是通過檢測得到的平面信息,在平面上添加指定位置的錨點,并在錨點上繪制錐形體。

Part 04  AR/VR的趨勢和未來

對于AR和VR設備的普及化,可能還需要一個比較長的過程,其中包括硬件升級和軟件升級的過程,也可能包括用戶對消費需求的升級。所以前景和市場還是很有希望的,因為它的發現大大提升了之前體感類游戲或者交互的體驗,讓用戶能夠隨時隨地的置身于各式各樣的虛擬場景,并得到非常逼真的體驗,相信隨著移動技術的發展,有一天大家都能用上價格實惠,體感很好的AR/VR產品。?

責任編輯:未麗燕 來源: 移動Labs
相關推薦

2014-05-09 15:30:46

2017-04-06 10:10:16

2014-03-31 11:49:16

軟件定義網絡SDN

2012-12-22 15:46:10

中國建設銀行移動支付移動通信

2020-08-04 10:24:50

計算機視覺人工智能AI

2012-08-22 10:36:07

2016-12-20 15:42:47

AR教育

2009-05-05 11:03:02

Vmware虛擬化IT產業

2013-01-28 10:45:52

移動醫療趨勢移動互聯網

2013-09-18 09:29:34

移動趨勢CIOBYOD

2012-10-30 09:24:27

2011-03-16 12:04:44

2013-04-11 21:27:01

及時語移動電話會議

2019-04-16 08:01:32

ARVR人工智能

2013-02-21 10:44:03

云計算云平臺云服務提供商

2011-07-12 09:25:59

傳送網網絡IP化分組傳送

2014-12-04 10:12:49

2015-06-05 13:36:42

2012-08-08 10:52:35

2019-12-27 14:14:42

ARVR金融
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www.com久久久 | 久久人人爽人人爽人人片av免费 | 亚洲另类视频 | 91麻豆蜜桃一区二区三区 | 国产一区二区三区四区区 | 福利视频亚洲 | 亚洲视频手机在线 | 999精品网 | 亚洲一区二区三区免费视频 | 电影91久久久 | 中文字幕不卡视频在线观看 | 日本又色又爽又黄的大片 | 亚洲视频免费在线 | 一本久久a久久精品亚洲 | 成人区一区二区三区 | 久久人 | 国产美女免费视频 | 国产精品久久久久久妇女6080 | 色橹橹欧美在线观看视频高清 | 久久成人综合 | 男女污污动态图 | 久久亚洲免费 | 精品国产一区二区三区免费 | 9porny九色视频自拍 | 欧美精品国产一区二区 | 99tv成人影院 | 欧美一区二区三区四区视频 | 欧美成人一区二区三区 | 久久成人综合 | 91久久视频 | av网站免费观看 | 久久久久久电影 | 2019天天操 | 久久国产精品99久久久久久丝袜 | 亚洲国产成人精品久久久国产成人一区 | 国产精品99久久久精品免费观看 | 成人久久网| 精品一二三区 | 免费观看一级毛片 | 欧美综合在线视频 | 在线免费观看黄色 |