在目前的手機硬體條件下,AR能實現環境光渲染嗎?

U3D初學者,致力AR研究

用U3D自帶渲染器做了幾個AR小樣,發現渲染出來的效果和真實環境融合度不夠。因為之間是做室內效果圖的。在想有沒有像3D MAX材質里的設置,能不能利用攝像機探頭,實時的製作類似環境貼圖的光學信息,參與渲染虛擬物體。這樣渲染效果就能更加真實。。。


首先沒有做過也沒有仔細考慮過這方面的東西,一個想法 不一定對。僅供參考。

要做到完全真實的效果我想是非常難的。環境光/漫反射/鏡面反射 就這幾個最基礎的部分從單張圖片中推導出來是非常難的(而且攝像頭照到的圖片只是攝像頭前面的部分)。而且還要做到目前的手機硬體上。所以只能從另一個角度來考慮。

如這一個demo:https://www.youtube.com/watch?v=YxxCjV-2y_E

可以看到視頻的效果還是比較不錯的。不過仔細看其實鏡面反射效果是非常假的(如上面的截圖看marker都出現在頭頂了)。基本上來說就是把camera拍到的當前這一幀圖像,做成一個specular spheremap,然後基於虛擬物體當前的Pose矩陣以一定的對應關係對應到物體上。這個是純鏡面反射。而diffuse的情況下,還是一樣的方式,只不過對圖像做一些模糊處理以模擬漫反射的效果。

這種方式仔細看的話會發現比較假。但是如果只是粗略的看一看還是可以接受的(並且可以很大程度上提高虛擬物體的真實度)。而且效率非常高,手機上的話肯定沒有問題的。當然如果實際去做,肯定還是會遇到很多問題。不過個人認為這的確是一個快速起步的方法。


以前考慮過 可考慮類似geryball的技法,將手機拍攝到的畫面 或者之前拍攝到的某圖,模糊之後去IBL照亮某球 用此球體做matcap, 當然具體實現 有很多效能方面考量 ,但是應可以實現


@叛逆者曾跟我說可以實現,但是因為 intel 給的晶元太慢了,於是沒有做


實時驗算性能是不夠的。另外AR設備少有真實光照的採樣器,即使性能足夠,真實光源也難以抽象成邏輯光源在虛擬環境中使用。

一般AR實現與環境融合,是通過攝像頭捕捉現實場景作為背景或者環境貼圖之類的,然後做一些圖形處理最後合成在需要渲染的物體上。這個過程根據硬體性能差異效果有很大差異,一般來說像素越好處理能力越強的手機獲得的效果越好。相同演算法可能在很多機器上根本無法跑。


實時的最高效果,我是在我的SHield Tablet上看到過的,其他就不知道了。


可以實現,但跑起來估計夠嗆


性能不夠吧我覺得- - 要同時滿足即時追蹤,模型,演算,並模擬真實環境光照,按您這要求通常還得加上二次反射,AO等。。。同時光線位置也要反推。。。。。


推薦閱讀:

3D遊戲開發程序員有哪些聚集地?
flash的stage3d技術為什麼沒落?

TAG:增強現實AR | Unity遊戲引擎 | 3D引擎 |