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进行了重写

The Lab Render (Valve开源VR渲染优化插件)
Paste_Image.png

  首先可以来看看unity使用实时光烘焙出的阴影。

The Lab Render (Valve开源VR渲染优化插件)
Paste_Image.png

  我们现在使用LabRenderer进行阴影的处理,首先我们要在工程设置里把shadows设置为DIsabel Shadows(即禁用掉阴影)

The Lab Render (Valve开源VR渲染优化插件)
Paste_Image.png

  接着我们把Unity中自带的全局光照(GI),以及烘焙禁用掉。

The Lab Render (Valve开源VR渲染优化插件)
Paste_Image.png


  我们导入TheLabRenderer以后,会增加Valve的选项,我们可以在里面进行对当前场景里面所有使用到的材质进行统一的shader替换。

The Lab Render (Valve开源VR渲染优化插件)
Paste_Image.png


  当然,你也可以自己在材质中替换shader。

The Lab Render (Valve开源VR渲染优化插件)
Paste_Image.png

  我们更改了Shader以后会发生场景中的物体都渲染不出来了,是因为它新更换的shader无法识别普通的灯光。这时需要为它添加新的脚本。

The Lab Render (Valve开源VR渲染优化插件)
Paste_Image.png


  我们接着对灯光进行处理,为我们场景中的灯添加ValveRealtimeLight脚本。

The Lab Render (Valve开源VR渲染优化插件)
Paste_Image.png

  此时同样也无法进行渲染。我们还需要在我们渲染的相机上挂上Valve Camera脚本。

The Lab Render (Valve开源VR渲染优化插件)
Paste_Image.png

  现在,我们就可以看见我们的场景中就存在实时的阴影了。(如果没有阴影可以将灯光的Shadow type改成你想要的投射阴影)

The Lab Render (Valve开源VR渲染优化插件)
Paste_Image.png

  这个阴影看上去和之前的阴影并没有什么区别,但是却有本质上的不同,它是将阴影作为一张图片先渲染出来然后在贴在物体的材质上,我们同样也可以对这个阴影进行控制。

The Lab Render (Valve开源VR渲染优化插件)
Paste_Image.png
The Lab Render (Valve开源VR渲染优化插件) 
作者 Levi_Wan 关注
2017.01.03 21:22 字数 685 阅读 302评论 0喜欢 0