丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
專欄 正文
發(fā)私信給王銳
發(fā)送

3

如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

本文作者: 王銳 2016-06-01 10:17
導語:用極客范兒打造HTC Vive虛擬演播室的原理是什么?本文將會給你答案。

雷鋒網按:作者王銳,VR行業(yè)資深從業(yè)者。在本文討論“如何用極客范兒打造HTC Vive虛擬演播室”之前,王銳還曾寫過一篇廣受歡迎的《如何用極客范兒做一款VR頭盔?不是插個手機的那種》,有興趣的讀者可以看看。那么,打造HTC Vive虛擬演播室的原理是什么?本文將會給你答案。

| 看起來很酷的玩法

HTC Vive如期在四月份開始供貨以來,已經有相當一部分嘗鮮者拿到了第一批產品,由虛擬現實頭盔,手柄以及Lighthouse定位裝置組成的完整的VR互動體驗也著實讓從業(yè)者和玩家們感到興奮。當然,從現階段來看,針對Vive的內容還遠未到位,很多游戲體驗還處在預告或者試玩的階段;更大的一波攻勢怕是還在路上,即將到來。

而在這為數不多的初期體驗當中,有一則有趣的新聞吸引了筆者的注意。

對于游戲者本人而言,她所看到的內容并沒有什么實質的變化,只是在進行一個VR游戲并與其中的內容和角色進行互動(例如下圖中的小女孩正在嘗試用手柄“吸引”電子寵物)而已。而讓人感到嘖嘖稱奇的是,現場觀眾可以通過直播畫面看到如下的情景(圖片來自相關新聞的視頻截圖):

如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

而實際的拍攝場地,則類似下圖的布置,游戲者在一片綠色幕布的包圍下開心地進行玩耍,而手持攝像機的工作人員則將她的現場表現通通記錄下來,再與第三人稱視角的VR游戲場景直接疊加,讓其他也許正在排隊等待的人能夠更真切地目睹游戲中的一切,以及預想自己即將在別人眼中呈現出來的英姿(或許是丑態(tài)也說不定)。

如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

這無疑讓一個可能的線下VR體驗館變得熱鬧了許多,而且對于難得參與一次VR重度游戲的孩子而言,也是一次重要的經歷,值得用這種直觀的方式記錄下來,回去慢慢品味。

那么問題就來了,這個看起來十分炫酷的游戲方式,在現實中有可能實現嗎?還是說這只是為了宣傳而專門拍攝的畫面而已,或者只能專屬于一些領先的國外技術團隊呢?

就讓我們再次舉起極客的大旗,去努一努力好了。

| 虛擬演播室的定義

首先,前文所述的種種并不是多么高深的“黑科技”,它事實上源于一個現實中已然到處存在的視頻制作技術——虛擬演播室(Virtual Studio System,簡稱VSS)。

這一技術的本質是將計算機制作的虛擬場景(通常是三維場景)與現場拍攝的實時活動畫面進行疊加,并且確保兩幅畫面的運動與透視關系完全一致,從而自然和迅速地得到了虛實結合的畫面效果。在這類應用當中,通常會采取前景和主持人為真實拍攝,而千變萬化的背景通過計算機實時演算生成的結合手段,并將疊加完成的效果傳遞到電視信號。例如:

如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

很顯然主持人并不是真的站在這么一個抽象數字和圖形組成的空間里。要隨著我國的GDP突飛猛進而經常更新直播間的室內裝潢,這也遠不如在計算機上動動手指來得有效率。所以,實際的拍攝場地往往可能是這樣的布置:

如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

或者也常使用藍色的背景:

如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

要在這樣的場地條件下談笑風生,還真是對演員和嘉賓能力的一種考驗了。而這樣的演播過程同樣包含了對大量設備與技術的集成和應用,僅僅掐指一算,就有虛擬場景設計與實現,燈光,實時摳像,攝像機跟蹤,色鍵合成,視頻合成,實時轉播等種種門類涵蓋在其中。要想在這一篇短文里把它們都講解清楚,恐怕非筆者力所能及,也非本文所能容納的了。

不過,僅僅是針對我們在文章開頭的需求,還是大有工夫可做的。那么我們就來思考第一個問題,也許也是虛擬演播室技術實現中最為核心的一個問題:電腦生成的背景,與氣定神閑的演員,是怎么疊加在一起的?

| 從虛擬攝像機開始

主持人或者演員的表演是怎么被記錄下來的,這一點不用多說,自然是通過攝像機進行拍攝,然后輸出直播畫面或者錄制到文件再做處理,所以這并非我們所關注的重點。至于為什么演員的前后左右都要用純粹的綠色或者藍色伺候,這是我們稍后將會討論的話題。而在此之前,我們需要引入一個也許并不陌生的概念——虛擬攝像機(virtual camera)。

當然,這里要說的絕不是VR全景攝像機的概念。我們所指的恰恰是不存在于現實當中的攝像機設備,它存在于我們的游戲場景里,就仿佛是在游戲場地中架設了一臺攝像機,將走過路過的主角和敵人,以及他們之間的恩怨情仇統統拍攝下來,就像是拍攝動物世界的紀錄片那樣。

如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

這樣很酷,不過既然是攝像機,那么它自然也應當具備真正的攝像設備的基本參數了,例如鏡頭焦距,景深,視場角(FOV),最關鍵的是,這臺攝像機是放在游戲場地的什么位置上?又是朝著哪個方向進行拍攝的?如果這是一臺可以運動的攝像機的話,那么還需要考慮它的運動跟蹤。當然,用斯坦尼康之類來做運動拍攝時畫面的防抖處理,這樣的繁瑣需求在這里應該是用不著了。

如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

(Via 3ds MAX and VRay Tutorial: Basic daylight interior visualization for beginners – Render like a photographer》

而對于虛擬演播室的需求來說,更重要的一條原則是:這個虛擬攝像機的光學參數與運動位姿,必須和拍攝演員的攝像機完全同步和一致。這樣才有可能在后面的疊加處理中做到兩幅畫面的統一,以及透視關系的正確性。

如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

(Via 3dcpptutorials.sk

聽起來很簡單,但實際上這是一個不小的挑戰(zhàn)。事實上在我國,長期以來高端的3D虛擬演播室業(yè)務都是被Orad(傲威)等行業(yè)龍頭所占據的。為了做到上述的攝像機跟蹤的需求,他們會采用非常高精度的編碼器云臺來做角度的探測,其售價通常會以20萬元起步,令人生畏。

后來也有部分高端虛擬演播室系統用到了計算機視覺(Computer Vision,CV)的方法來識別藍幕上的淺藍色線條,從而實現攝像機的運動和姿態(tài)探測。但是這樣做的算法并不容易,售價同樣很昂貴。

而Orad的虛擬演播室系統的銷售是以“信道”為單位的,之前一個信道可以賣到70萬左右的價格,而采購是最少3個信道起價的。當然我們也能見到售價十多萬的虛擬演播室系統,但是其中很可能會直接無視攝像機跟蹤的需求,僅僅把實際拍攝的片子做綠幕摳像,然后導入到虛擬場景中直接疊加。合成的結果很容易讓真實的演員顯得像是早期建筑動畫和海報里不自然的紙片人一樣。

如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

回歸正文,如果只是確保虛擬系統和真實系統的光學參數一致的話,我們倒是可以簡單地給虛擬攝像機的焦距,FOV等數值(盡管這樣并不準確,不過多數情況下變化的幅度可以容忍)。難點在于攝像機的位置與姿態(tài)的跟蹤,如果用數學公式來表達的話,大致如下:

如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

(Via slideplayer.com

是不是有點似曾相識的感覺?沒錯,如果您已經熟練地掌握了OpenVR API的使用(也就是HTC Vive的C++開發(fā)工具庫),那么想必也已經發(fā)現了一個現成的函數:

如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

它的作用就是獲取指定Vive設備的位置和姿態(tài)矩陣,而這個設備可能是頭盔,手柄,或者是Lighthouse定位裝置。如此一來,假設我們開一個腦洞,把某個Vive設備完全綁定在真實的攝像機上的話,那么攝像機的移動和旋轉信息就會被完整地記錄下來,并傳遞到OpenVR API以及我們自己的應用程序里——換句話說,虛擬攝像機的位置和姿態(tài)信息也就由此被確定了

這樣的做法事實上也并不是筆者首創(chuàng)的,國外早就有玩家把Vive的控制手柄固定在大腿上來讀取和模擬人的腿部姿態(tài)和運動,如下面的新聞(圖片同樣來自Yivian):

如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

當然了,這種做法并不是沒有局限性,否則高端的虛擬演播室系統開發(fā)和集成廠家也都要找筆者算賬來了。因為HTC Vive的控制器只能在Lighthouse所圈定的優(yōu)先區(qū)域內被識別(例如5x5米),所以這種做法并不能跟隨實際的攝像機大范圍地運動。不過Lighthouse在理論上是可以被拼接和擴大識別范圍的,所以不久的將來我們也許真的能夠見到基于Vive控制原理的虛擬演播室系統模塊也說不定。畢竟科技是飛速發(fā)展的,顛覆一些傳統和守舊的做法也是毫不稀奇的事情。

| 摳像的傳說

實現了虛擬攝像機與實際攝像機的同步之后,我們要面臨的第二個大問題,叫做摳像(keying)。它的基本含義是——

從拍攝的畫面中抽取某一種顏色作為透明色,即把這種顏色所對應的像素點從畫面中摳掉,讓可能的背景畫面顯露出來,從而呈現出疊加的效果。

如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

摳像之前的布景條件往往比較嚴格,現場會要求前景的演員和道具與背景的幕布之間區(qū)別明顯,色調也不接近,同時背景的光照要均勻布設,避免有過大的陰影區(qū)域或者褶皺。而通常的摳像場景會選擇藍色或者綠色的幕布來作為背景,這是因為在人體上幾乎不存在這兩種顏色,因此不會出現錯誤的摳掉演員本身的問題(當然部分人的瞳孔會有綠色和藍色的色彩,此時要單獨進行處理)。如果在場景中故意布置一些綠色包裹的道具,例如讓演員站在綠色的箱子上,那么摳像處理完成后就會產生浮空的效果,再加上計算機生成背景畫面的巧妙疊加,就會形成如今各種好萊塢大片中的特效場面。

如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

這樣的話,再返回頭去看本文開頭的游戲現場布景,就不難理解他們這樣做的用意了。進行游戲的小女孩是在綠幕構成的環(huán)境中運動的,攝像機將她的一舉一動拍攝下來,然后摳像處理將綠色的背景透明化,再與Vive游戲的畫面相疊加。因為攝像機的位置和姿態(tài)都被傳遞到虛擬游戲場景當中,因此兩幅畫面疊加的透視效果是完全一致的,再加上合適的深度遮擋判斷的話,就可以做到一種混合現實(Mixed Reality)一般的現場感了。

當然,這里面有兩個重要的事實需要聲明:

  • 一是游戲本身必須支持這種第三人稱的觀看模式,并且能夠接收來自位置跟蹤設備(例如Vive的手柄)的數據和設置自身的虛擬攝像機參數。

  • 二是這一畫面只會呈現給其他的觀看者,正在進行游戲的人看到的畫面依然是VR的第一人稱視角內容,不會看到自己的真實形象混疊于其中。

原理既然已經闡述完畢,下面的時間,我們就自己試做一款基于Vive的虛擬演播室系統,當然所有的功能都是最簡的。Unity和Unreal這樣的游戲引擎在這里恐怕也起不到什么用武之地,讓C++的代碼遍地開花就好。

如何自己動手做一款基于Vive的虛擬演播室系統?請繼續(xù)關注《如何用極客范兒打造一個HTC Vive虛擬演播室?(下)》。

雷鋒網注:作者王銳,本文為雷鋒網獨家約稿,轉載請聯系并保留完整信息,不得刪減、修改文章。

雷峰網原創(chuàng)文章,未經授權禁止轉載。詳情見轉載須知。

如何用極客范兒打造一個HTC Vive虛擬演播室?(上)

分享:
相關文章

專欄作者

全棧工程師,虛擬現實行業(yè)從業(yè)者,開源圖形引擎OpenSceneGraph的核心貢獻者。致力于探索虛擬現實與人機交互的各種可行性。
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說