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

AR視覺(jué)給移動(dòng)生活帶來(lái)的變革

開(kāi)發(fā) VR/AR
對(duì)于AR和VR設(shè)備的普及化,可能還需要一個(gè)比較長(zhǎng)的過(guò)程,其中包括硬件升級(jí)和軟件升級(jí)的過(guò)程,也可能包括用戶對(duì)消費(fèi)需求的升級(jí)。所以前景和市場(chǎng)還是很有希望的,因?yàn)樗陌l(fā)現(xiàn)大大提升了之前體感類游戲或者交互的體驗(yàn),讓用戶能夠隨時(shí)隨地的置身于各式各樣的虛擬場(chǎng)景,并得到非常逼真的體驗(yàn)。

作者 | 張辰,單位:中國(guó)移動(dòng)智慧家庭運(yùn)營(yíng)中心

?Labs 導(dǎo)讀

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

Part 01  AR的開(kāi)發(fā)技術(shù)難點(diǎn) 

在AR技術(shù)逐漸火熱的今天,很多一線互聯(lián)網(wǎng)公司都組件了自己的團(tuán)隊(duì)來(lái)開(kāi)發(fā)獨(dú)立的AR框架。以下是一些常見(jiàn)的AR技術(shù)平臺(tái)和運(yùn)營(yíng)的公司。

圖片

那么AR的開(kāi)發(fā)技術(shù)難點(diǎn)在哪里呢?

界面問(wèn)題:缺乏通用的UI隱喻

盡管人們知道可以用AR做些什么,但并不確定如何使用這項(xiàng)突破性的技術(shù),以及如何運(yùn)用一種共通的語(yǔ)言幫助夢(mèng)想照進(jìn)現(xiàn)實(shí)。AR 的難點(diǎn)在于它是一項(xiàng)全新的技術(shù),無(wú)法真正受益于任何界面隱喻。我們不能借鑒先例,而且沒(méi)有過(guò)多的背景知識(shí)。比如,如何體現(xiàn)現(xiàn)實(shí)環(huán)境、虛擬環(huán)境、并讓用戶理解移動(dòng)手機(jī),掃描環(huán)境,互動(dòng)或觀看虛擬物體,并且提示行動(dòng)避開(kāi)危險(xiǎn)等,都尚未形成共通的、直覺(jué)的 UI 習(xí)慣。如果無(wú)法解決UI的隱喻問(wèn)題,就很難抓住 AR 為我們帶來(lái)的獨(dú)特?cái)?shù)字機(jī)遇。

能耗問(wèn)題:功耗大、易發(fā)熱

目前市面上的CPU和GPU大部分都是為通用設(shè)備開(kāi)發(fā),并沒(méi)有專有為AR設(shè)備開(kāi)發(fā)的芯片,導(dǎo)致目前的CPU 尺寸(Size)雖然在微型化處理器和顯卡方面取得了很大進(jìn)展,但是仍然沒(méi)有達(dá)到讓高端 AR 成為現(xiàn)實(shí)的水平。

功耗(Power)渲染AR體驗(yàn)的過(guò)程非常耗電。事實(shí)上功耗越大,產(chǎn)生的熱量也就越多,產(chǎn)生的這些熱量又會(huì)反過(guò)來(lái)降低處理器的速度,甚至使其完全短路。設(shè)備越小,散熱速度就越慢。

內(nèi)容問(wèn)題:3D設(shè)計(jì)門檻高

AR領(lǐng)域內(nèi)容的設(shè)計(jì)需要3D設(shè)計(jì)的知識(shí)。目前,擁有這項(xiàng)能力的技術(shù)人員基數(shù)較小,除非是專業(yè)的動(dòng)畫(huà)師、平面設(shè)計(jì)師、機(jī)械工程師或視頻游戲制作人,否則很難在這方面有太多經(jīng)驗(yàn)。

圖片

Part 02  ArCore在Android端的應(yīng)用

目前的這些方案是如何比較好地應(yīng)用到移動(dòng)開(kāi)發(fā)中的呢?我們以ARCore舉例來(lái)看下想要在移動(dòng)端開(kāi)發(fā)一個(gè)AR項(xiàng)目需要做哪些事情。

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

然后在你的AR項(xiàng)目中找到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中導(dǎo)入ARCore支持:

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

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

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

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

checkAvailability()可能需要查詢網(wǎng)絡(luò)資源來(lái)確定設(shè)備是否支持 ARCore。在此期間,它將返回UNKNOWN_CHECKING。為了縮短感知延遲時(shí)間并減少?gòu)棾鍪酱翱冢瑧?yīng)用應(yīng)在其生命周期的早期階段調(diào)用一次checkAvailability()以啟動(dòng)查詢,并忽略返回值。這樣,在調(diào)用 maybeEnableArButton() 時(shí),緩存結(jié)果將立即可用。

由于AR設(shè)備必須用到相機(jī),所以還請(qǐng)?jiān)谑褂肁R設(shè)備前,請(qǐng)求并開(kāi)啟相機(jī)權(quán)限:

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

此時(shí)我們準(zhǔn)備工作就做好了,就可以構(gòu)建一個(gè)AR Session了。

Part 03 AR Client開(kāi)發(fā)

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

下面我們來(lái)創(chuàng)建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);
}

是不是很簡(jiǎn)單,同樣,關(guān)閉Session 可以直接調(diào)用:

session.close();

即可。

然后我們?cè)贏ctivity中構(gòu)建渲染循環(huán),

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

可以獲取當(dāng)前幀的信息,其中包括相機(jī)信息,RGB圖,depth圖等。

Camera camera = frame.getCamera();

可以獲取到當(dāng)前相機(jī)狀態(tài),如是否處在跟蹤物體,是否跟蹤失敗等。通過(guò)相機(jī)的不同狀態(tài)來(lái)繪制三維物體,可以動(dòng)態(tài)的改變?nèi)S物體的顯示(如位置,大小,旋轉(zhuǎn),是否被遮擋等)。

Frame中同樣存儲(chǔ)這點(diǎn)云、錨點(diǎn)、平面這些檢測(cè)信息,你同樣可以根據(jù)相機(jī)得到視點(diǎn)信息,重新構(gòu)建出一個(gè)三維世界,把以上得到的信息具體的繪制到場(chǎng)景中。在現(xiàn)實(shí)的臺(tái)球桌面上,虛擬化了一個(gè)錐形物體,是通過(guò)檢測(cè)得到的平面信息,在平面上添加指定位置的錨點(diǎn),并在錨點(diǎn)上繪制錐形體。

Part 04  AR/VR的趨勢(shì)和未來(lái)

對(duì)于AR和VR設(shè)備的普及化,可能還需要一個(gè)比較長(zhǎng)的過(guò)程,其中包括硬件升級(jí)和軟件升級(jí)的過(guò)程,也可能包括用戶對(duì)消費(fèi)需求的升級(jí)。所以前景和市場(chǎng)還是很有希望的,因?yàn)樗陌l(fā)現(xiàn)大大提升了之前體感類游戲或者交互的體驗(yàn),讓用戶能夠隨時(shí)隨地的置身于各式各樣的虛擬場(chǎng)景,并得到非常逼真的體驗(yàn),相信隨著移動(dòng)技術(shù)的發(fā)展,有一天大家都能用上價(jià)格實(shí)惠,體感很好的AR/VR產(chǎn)品。?

責(zé)任編輯:未麗燕 來(lái)源: 移動(dòng)Labs
相關(guān)推薦

2014-05-09 15:30:46

2017-04-06 10:10:16

2014-03-31 11:49:16

軟件定義網(wǎng)絡(luò)SDN

2012-12-22 15:46:10

中國(guó)建設(shè)銀行移動(dòng)支付移動(dòng)通信

2020-08-04 10:24:50

計(jì)算機(jī)視覺(jué)人工智能AI

2012-08-22 10:36:07

2016-12-20 15:42:47

AR教育

2009-05-05 11:03:02

Vmware虛擬化IT產(chǎn)業(yè)

2013-01-28 10:45:52

移動(dòng)醫(yī)療趨勢(shì)移動(dòng)互聯(lián)網(wǎng)

2013-09-18 09:29:34

移動(dòng)趨勢(shì)CIOBYOD

2012-10-30 09:24:27

2011-03-16 12:04:44

2013-04-11 21:27:01

及時(shí)語(yǔ)移動(dòng)電話會(huì)議

2013-02-21 10:44:03

云計(jì)算云平臺(tái)云服務(wù)提供商

2011-07-12 09:25:59

傳送網(wǎng)網(wǎng)絡(luò)IP化分組傳送

2019-04-16 08:01:32

ARVR人工智能

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金融
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 玖玖操 | 精品欧美一区二区精品久久久 | 亚洲精品一区av在线播放 | 日日夜夜精品免费视频 | 亚洲欧美一区二区三区国产精品 | 91色综合 | 亚洲高清中文字幕 | www一级片| 日韩精品一区二区三区 | 青青久草 | 亚洲视频一区 | 午夜在线观看免费 | 亚洲一区二区在线视频 | 欧美日韩精品免费 | 丝袜久久| 国产一区二区三区四区 | 国产91综合 | a久久| 久久国产电影 | 中文字字幕一区二区三区四区五区 | 天天操天天射天天 | 日日夜夜免费精品视频 | 国产免国产免费 | 97超碰人人草 | 久久综合一区二区 | 欧美久久久久久 | 91精品国产91久久久久久丝袜 | 国产真实乱对白精彩久久小说 | 欧美激情区 | 99精品在线| 操久久久 | 久久88| 一区二区三区 在线 | 国产免费黄网 | 人人爽人人爽人人片av | 久久久精品 | 99视频在线免费观看 | a a毛片| 久久99精品久久久久婷婷 | 久久久久久久久久久久亚洲 | 99精品国产一区二区三区 |