九又VR技術(shù)負(fù)責(zé)人官山山:九又VR平臺(tái)架構(gòu)設(shè)計(jì)的深層思考
原創(chuàng)2016年04月22日,由51CTO傳媒主辦的《中國(guó)首屆VR/AR技術(shù)大會(huì)》在北京駿馬國(guó)際酒店召開。我們邀請(qǐng)了業(yè)界知名的技術(shù)精英來分享VR/AR熱度下最前沿的探索,交流觀點(diǎn)并進(jìn)行實(shí)踐分享,志在打造一屆真正有干貨有內(nèi)容產(chǎn)出的技術(shù)盛會(huì)。除了技術(shù)交流分享外,我們還設(shè)置了現(xiàn)場(chǎng)體驗(yàn)專區(qū),提供***的***的VR設(shè)備供您體驗(yàn)VR游戲、電影場(chǎng)景等。
下面是來自九又VR技術(shù)負(fù)責(zé)人官山山先生給大家?guī)淼氖侵黝}為《九又VR平臺(tái)架構(gòu)設(shè)計(jì)的深層思考》的精彩演講實(shí)錄。
官山山,哈爾濱工業(yè)大學(xué)碩士,研究方向?yàn)槿斯ぶ悄堋C(jī)器學(xué)習(xí)、系統(tǒng)架構(gòu)。曾任百度高級(jí)研發(fā)工程師,移動(dòng)搜索短視頻、作業(yè)幫等項(xiàng)目早期創(chuàng)始人。現(xiàn)負(fù)責(zé)研發(fā)九又系統(tǒng)平臺(tái),包括9U ROM、9U UI,九又SDK等。
【以下為現(xiàn)場(chǎng)演講實(shí)錄】
我是來自九又VR的工程師官山山,我先解釋一下“九又”,我們?nèi)∵@個(gè)名字是帶你進(jìn)入魔法世界的意思,有人問我們九又四分之三是不是用數(shù)字提示你們,不斷地向十全十美這個(gè)目標(biāo)邁進(jìn),我們確實(shí)沒有想到這一點(diǎn),但是我們確實(shí)是這樣做的。
接下來我們講一點(diǎn)我們自己在這兩年實(shí)踐中的思考,跟大家一起討論一下。從以下幾個(gè)方面開始,先介紹一下九又。我先介紹一下VR的發(fā)展史,VR是一門綜合技術(shù),它是一個(gè)擁有較高技術(shù)門檻的一項(xiàng)技術(shù)。很多人說VR沒有技術(shù)門檻,但是我認(rèn)為把一個(gè)普通的應(yīng)用,把一個(gè)普通的游戲直接摁成左右,我覺得這不能算是一個(gè)VR應(yīng)用,它只能算是在VR上可以使用的應(yīng)用。
在我們開發(fā)應(yīng)用的時(shí)候,我們把一個(gè)應(yīng)用左右分屏,這肯定是一種不太好的體驗(yàn),VR并不是一門新的技術(shù),在1989年的時(shí)候,VR概念***提出來,但是在60年代,計(jì)算機(jī)創(chuàng)始人首先進(jìn)行了初步的嘗試,但是確實(shí)也沒有成功,因?yàn)榧夹g(shù)受限。到了1980年,硬件設(shè)備進(jìn)行了一次大的更新升級(jí),人們又進(jìn)行嘗試,但是這次嘗試再次受挫,受挫主要體現(xiàn)在并沒有民用化,但是在一些商用化得到了極大的發(fā)展,在航空領(lǐng)域,在部隊(duì)領(lǐng)域,都得到了較大的應(yīng)用。VR再次***熱潮,是得益于智能手機(jī)的發(fā)展。
九又從2013年底開始立項(xiàng),也是看到了智能化設(shè)備的發(fā)展,從一開始我們做一個(gè)VR娛樂設(shè)備,2013年底立項(xiàng)。2014年10月推出了***代工程機(jī),我們不光有圖顯設(shè)備,還有輸入指環(huán),這一代沒有推向市場(chǎng),我們衍生目標(biāo)做一個(gè)民用化的產(chǎn)品,我們想著盡可能把它優(yōu)化,優(yōu)化以后再推向市場(chǎng),我們進(jìn)行了第二步的迭代,在2015年12月的時(shí)候,登陸了京東眾籌,在2月份的時(shí)候,給***批用戶發(fā)貨,通過市場(chǎng)上的反饋,我們進(jìn)行了一些思考。
在現(xiàn)階段VR產(chǎn)品發(fā)展的時(shí)候,***個(gè)問題,沒有內(nèi)容。為什么沒有內(nèi)容?虛擬現(xiàn)實(shí)跟互聯(lián)網(wǎng)還有一點(diǎn)區(qū)別,互聯(lián)網(wǎng)發(fā)展大約有十幾年以后,我們才開始提跨界,提互聯(lián)網(wǎng)+。但是我認(rèn)為虛擬現(xiàn)實(shí)天生就是與傳統(tǒng)行業(yè)相結(jié)合,什么現(xiàn)實(shí)?擁有各種行業(yè)才是一種現(xiàn)實(shí)。而互聯(lián)網(wǎng)上可能就沒有這種本質(zhì),所以說它要跨界,但是VR肯定就是跨界的技術(shù)產(chǎn)品。我們現(xiàn)在說沒有內(nèi)容,我們?nèi)テ渌袠I(yè)尋找,有很多這樣的情況,我們舉一個(gè)實(shí)際合作的例子。
有專家裝修設(shè)計(jì)公司,有很多裝修方案,傳統(tǒng)的做法可能就是電腦、大屏幕給客戶看一下方案,但是我們看一個(gè)屋子,通過圖片來展示效果肯定不好,客戶看了一遍又一遍,***看了實(shí)際效果不一樣。VR的興起,讓他們看到了希望,通過VR的形式更好的展現(xiàn)我們的室內(nèi)設(shè)計(jì)。但是他們是室內(nèi)設(shè)計(jì)的公司,他們并不懂VR,他們想用這項(xiàng)技術(shù),他們?cè)趺唇鉀Q呢?他們有他們的困惑,我們把所有的問題歸納總結(jié)了以下,有以下幾點(diǎn)。
***點(diǎn),人機(jī)交互沒有通用的方案。傳統(tǒng)操作電腦、手機(jī)都是二維,我們進(jìn)入三維的世界,對(duì)用戶來說是陌生的,而且一個(gè)應(yīng)用是這樣,另外一個(gè)應(yīng)用還不一樣,他學(xué)會(huì)這個(gè)應(yīng)用再進(jìn)入另外一個(gè)應(yīng)用他要重新學(xué)習(xí),這是用戶的困惑。對(duì)于開發(fā)者,所有的東西不一樣了,要重新開發(fā),我添加一個(gè)按鈕怎么添加,跟手機(jī)和電腦上又是不一樣的,我開發(fā)的這個(gè)會(huì)不會(huì)獲得用戶的認(rèn)可,讓用戶喜歡,我的這種模式用戶是不一定認(rèn)可的。提到人機(jī)交互,我想說一點(diǎn),現(xiàn)在很多的應(yīng)用開發(fā)者,他在開發(fā)的時(shí)候,在手機(jī)上開發(fā),基本上所有的應(yīng)用打開應(yīng)用以后,點(diǎn)一下開始,然后才進(jìn)入一個(gè)VR模式,這樣子的應(yīng)用,就遇到很大的問題,一體機(jī)沒法說拿出來點(diǎn)一下,或者單屏幕操作,用戶也吐槽,這不是設(shè)備的問題,這個(gè)應(yīng)用就差一步,只要點(diǎn)擊開始以后,進(jìn)去以后就可以操作,但是就差這一步,這也是我們的交互沒有通用的方案導(dǎo)致的。
第二點(diǎn),在研發(fā)上沒有通用的方案,現(xiàn)在各種各樣的平臺(tái)都有,基于一體機(jī)設(shè)備的,在不同的設(shè)備上面,還有不同的引擎、不同的開發(fā)平臺(tái)。這對(duì)用戶來說,又有一個(gè)困擾,我要體驗(yàn)所有的東西,我要把所有的平臺(tái)都買了,我要買一個(gè)一體機(jī)。剛才我說了內(nèi)容少,還有那么多平臺(tái),給用戶造成困擾顯顯而易見。現(xiàn)在我不能做到開發(fā)應(yīng)用照顧到所有的平臺(tái),針對(duì)每一個(gè)平臺(tái)開發(fā)的成本是非常高的。
第三點(diǎn),外設(shè)的管理沒有通用方案,在電腦上有鍵盤、鼠標(biāo),但是VR的輸入設(shè)備是什么?現(xiàn)在沒有標(biāo)準(zhǔn),有手勢(shì)識(shí)別、我們做的是指環(huán),這所有都是不統(tǒng)一的,這對(duì)用戶來說,我選擇你的平臺(tái),我只能接入你的外設(shè),想體驗(yàn)其他的外設(shè)不支持,用戶一下子很難體會(huì)到更多的東西。對(duì)于開發(fā)者來說更痛苦了,可能一個(gè)平臺(tái)上就有多個(gè)外設(shè),我要針對(duì)不同的外設(shè),都要進(jìn)行定制開發(fā),開發(fā)的成本又大大的加大。
基于以上三點(diǎn),在開發(fā)內(nèi)容的時(shí)候,形成不了閉環(huán),沒有特別深入的內(nèi)容,用戶難以找到更多有價(jià)值的內(nèi)容和應(yīng)用,而研發(fā)團(tuán)隊(duì)一個(gè)應(yīng)用沒法做到足夠的應(yīng)用。這是我們總結(jié)的幾個(gè)問題,現(xiàn)在VR產(chǎn)品發(fā)展現(xiàn)在遇到一個(gè)問題。
針對(duì)這些問題,我們提出了自己小的思考,首先我們選擇了一個(gè)比較廣泛的移動(dòng)開發(fā)平臺(tái)—安卓,在安卓基礎(chǔ)之上可以支持Cardboard、支持Unity定制化開發(fā)。谷歌只是給我們提供了一個(gè)大約的框架,并沒有在VR上提供版本系統(tǒng),他提供了一個(gè)基礎(chǔ)的功能,但是并沒有告訴我們,你在這上面應(yīng)該怎么做,谷歌只能說是這個(gè)行業(yè)的引導(dǎo)者,不是競(jìng)爭(zhēng)者,我們可以跟著谷歌一起做。
九又VR整體框架
上圖是九又的整體框架,我們把這些位置進(jìn)行了抽象圖分析,三個(gè)部分,一個(gè)是視覺處理;一個(gè)是場(chǎng)景容器;一個(gè)是外設(shè)適配,視覺處理是最重要的,VR是一個(gè)輸出設(shè)備,在這上面要做反畸變、ATW、光場(chǎng)成像。人在看真實(shí)世界的,發(fā)出的光是無數(shù)點(diǎn)發(fā)出來的,我們看一個(gè)屏幕的時(shí)候,只是在一個(gè)屏幕上發(fā)出來的,本身是欺騙你的眼睛的,這跟真實(shí)世界完全不一樣,就算把延遲降到10毫秒,還是存在一定程度上的延遲,光上,在視覺處理上非常重要的一點(diǎn)。
場(chǎng)景容器,可以支持多場(chǎng)景的融合,我們把所有的外設(shè)進(jìn)行統(tǒng)一,輸出成語義事件,什么是語義事件?比如說最簡(jiǎn)單的點(diǎn)擊,不同的地方點(diǎn)擊的定義不一樣,一個(gè)手勢(shì)識(shí)別可能是一個(gè)動(dòng)作,而一個(gè)手表有一個(gè)按鍵,或者一個(gè)指環(huán)有一個(gè)按鍵,這些東西定義不一樣,我們?cè)赟DK里面把所有的都分裝,把所有的外設(shè)進(jìn)行抽象,所有的都映射到這個(gè)事件中。指環(huán)是怎么樣揮拳動(dòng)作,我們可以把所有的動(dòng)作,不一樣在上層統(tǒng)一一個(gè)接口,這是我們想到的語義事件解析。在語義事件上,不光有外設(shè)的,還有其他的,比如說一個(gè)系統(tǒng)事件,比如說頁面上提示,或者說關(guān)機(jī),有一些系統(tǒng)事件,我們也把這些事件進(jìn)行統(tǒng)一,視為所有的設(shè)備。應(yīng)用事件,可能也需要我們統(tǒng)一成一個(gè)標(biāo)準(zhǔn)事件,比如說瞄準(zhǔn),我們把瞄準(zhǔn)都統(tǒng)一下來。
九又VR整體方案
上圖,上面一層,是SDK內(nèi)部做的一個(gè)事情,我們內(nèi)部做這些事情暴露出來的接口,上面第二層,提供給開發(fā)者的SDK,我們通過下面這層實(shí)現(xiàn),提供給開發(fā)者基本的交互組件,包括各種各樣的,一個(gè)按鈕,我們要在空間中顯示一個(gè)名字,顯示一張圖片,包括一段視頻,或者說一個(gè)提示框,我們把這個(gè)變成標(biāo)準(zhǔn)的組件,我們可以定義它的位置、顏色、大小,用戶就像在傳統(tǒng)設(shè)備上開發(fā)應(yīng)用一樣簡(jiǎn)單容易。在組件上還有正常的系統(tǒng)運(yùn)行時(shí)的組件,比如說要選擇、瞄準(zhǔn),包括外設(shè)事件。在這之上,暴露給用戶就是最上層的這些。
全局菜單,我們?cè)谑褂煤芏嘣O(shè)備的時(shí)候,我們發(fā)現(xiàn)有一些基本的交互是依賴于設(shè)備的,比如說我要返回,一些東西要操作要依賴于設(shè)備,這樣肯定不好,對(duì)用戶和開發(fā)者不好,我們?cè)谙虢换ソM件的時(shí)候,我們就要把這些全局組件剝離出來,是針對(duì)整個(gè)平臺(tái)使用的。我們對(duì)全局組件用戶可以進(jìn)行個(gè)性化的定制,比如說我有一個(gè)全局返回按鈕,在每一個(gè)開發(fā)者內(nèi)部都根據(jù)自己的系統(tǒng),重新設(shè)計(jì)全局按鈕,我怎么返回,怎么進(jìn)行操作,這是一點(diǎn)。還有VR輸入法,也是我們自己已經(jīng)做了的,現(xiàn)在把它進(jìn)行開元,當(dāng)然現(xiàn)在做的比較簡(jiǎn)單。還有用戶賬戶、支付系統(tǒng)等等,基本的東西可以構(gòu)成內(nèi)容閉環(huán)的。本地文件服務(wù)不是文件管理,APP Store是云端的應(yīng)用,本地文件服務(wù)就是本地資源的管理,開發(fā)者可以有各種各樣的形式,讓用戶進(jìn)行應(yīng)用管理,不限于傳統(tǒng)的,我擺一個(gè)圈,這個(gè)地方可以更多更好玩的定制。
用戶習(xí)慣采集,我們提到了外設(shè),外設(shè)都不那么精準(zhǔn),至少我們?cè)谶@個(gè)地方,如果把一些用戶的一些常用操作采集起來,這將是一個(gè)非常非常有價(jià)值的數(shù)據(jù)。我們也查大數(shù)據(jù)應(yīng)用,現(xiàn)在還是僅限于一些網(wǎng)頁上比較多,但是未來更大的數(shù)據(jù)是基于傳感器的,人所做的各種各樣的操作,如果說我們能把這樣的操作收集起來,這樣的數(shù)據(jù)將會(huì)是非常非常有價(jià)值的。所以說針對(duì)用戶的操作習(xí)慣采集,我們把這些數(shù)據(jù)收集起來,進(jìn)行大數(shù)據(jù)的學(xué)習(xí),再反饋到外設(shè),從而不斷地提高外設(shè)的精度和可用性。
具體我們要做的,基于一個(gè)開放平臺(tái),提供一些核心組件,提供支付、發(fā)布廣告,我們構(gòu)建資源平臺(tái),用戶可以在資源平臺(tái)獲取云端資源到9UOS,進(jìn)入9UOS,可以收集用戶的使用習(xí)慣進(jìn)行深度學(xué)習(xí),同時(shí),還可以反饋到外設(shè)上,同時(shí)我們可能還有一個(gè)在線商城,銷售所有的外設(shè),我們可以支持各種各樣的外設(shè),你用我們的OS就支持所有的操作,你可以使用指環(huán)設(shè)備,可以用一個(gè)手勢(shì)識(shí)別的廣告。
廣告聯(lián)盟是什么呢?微信在做廣告的時(shí)候,他當(dāng)時(shí)說了一點(diǎn),廣告是無處不在的,因?yàn)槭且粋€(gè)虛擬現(xiàn)實(shí),你進(jìn)入虛擬環(huán)境,廣告可能就不那么明顯,比如說我在玩一個(gè)游戲的時(shí)候,在這個(gè)游戲行業(yè)的時(shí)候,可能就有游戲的T恤,廣告再的不那么突兀,而是這個(gè)場(chǎng)景中的一部分。所有的這些,都是基于9UOS基礎(chǔ)之上的。
以上是51CTO.com記者從一線為您帶來的精彩現(xiàn)場(chǎng)報(bào)道。后續(xù)我們還有更加精彩的獨(dú)家報(bào)道,敬請(qǐng)關(guān)注。