1. 程式人生 > >The Lab Render (Valve開源VR渲染優化外掛)

The Lab Render (Valve開源VR渲染優化外掛)

valve公司將他們的TheLabRenderer渲染器開源了,前來學習學習。

  首先我們知道,在手遊中一般使用的都是傳統的烘焙正規化---把光照資訊渲染到模型的UV上做成一個LightingMap,這樣對於手遊的效能會有很大的優化,但是這個只是基於靜態的物體,在我們VR中,如果使用者無法看見遊戲物件的影子跟隨其移動將會造成非常差的體驗。

  所以VR中一般使用實時光來進行陰影的渲染,但是這樣會十分的消耗效能(VR遊戲的電腦高配其實也不是什麼大問題),但是現在既然Valve的TheLabRenderer開源了,就可以學習借鑑一下

  TheLabRender是Valve的團隊基於unity5.4.0進行開發的,所以首先得將unity的版本升到5.4.0的版本以上。The Lab Renderer外掛把unity中的光照和材質shader進行了重寫


Paste_Image.png

  首先可以來看看unity使用實時光烘焙出的陰影。


Paste_Image.png

  我們現在使用LabRenderer進行陰影的處理,首先我們要在工程設定裡把shadows設定為DIsabel Shadows(即禁用掉陰影)


Paste_Image.png

  接著我們把Unity中自帶的全域性光照(GI),以及烘焙禁用掉。


Paste_Image.png


  我們匯入TheLabRenderer以後,會增加Valve的選項,我們可以在裡面進行對當前場景裡面所有使用到的材質進行統一的shader替換。


Paste_Image.png


  當然,你也可以自己在材質中替換shader。


Paste_Image.png

  我們更改了Shader以後會發生場景中的物體都渲染不出來了,是因為它新更換的shader無法識別普通的燈光。這時需要為它新增新的指令碼。


Paste_Image.png


  我們接著對燈光進行處理,為我們場景中的燈新增ValveRealtimeLight指令碼。


Paste_Image.png

  此時同樣也無法進行渲染。我們還需要在我們渲染的相機上掛上Valve Camera指令碼。


Paste_Image.png

  現在,我們就可以看見我們的場景中就存在實時的陰影了。(如果沒有陰影可以將燈光的Shadow type改成你想要的投射陰影)


Paste_Image.png

  這個陰影看上去和之前的陰影並沒有什麼區別,但是卻有本質上的不同,它是將陰影作為一張圖片先渲染出來然後在貼在物體的材質上,我們同樣也可以對這個陰影進行控制。


Paste_Image.png 144 作者   2017.01.03 21:22 字數 685 閱讀 302評論 0