当前位置: > VR > VR资讯 > 正文内容

工程师技术详解:在UE4和Unity中的平面/立体混合渲染(4)

发表时间:2016-11-21 13:27 来源:未知 作者:未知  我要评论

Unity 样品 Unity 的混合平面渲染采用了和 UE4 版本基本一致的思路,但是完全通过 C# 和着色器来实现的。 用到了两个摄像机 一个进行近景的立体渲染,一个进行远景的平面渲染。远近景的分裂平面被用来限制渲染到合

  Unity 样品

  Unity 的混合平面渲染采用了和 UE4 版本基本一致的思路,但是完全通过 C# 和着色器来实现的。

  用到了两个摄像机 — 一个进行近景的立体渲染,一个进行远景的平面渲染。远近景的分裂平面被用来限制渲染到合适的深度范围,我们依赖 Unity 的视锥体剔除来避免为视锥体外的物体进行绘制调用。

  基本的步骤如下:

  把远景部分渲染到纹理(平面摄像机)。

  把近景部分用立体渲染 — 每只眼一次(左右眼立体摄像机)。

  针对每只眼,通过 Unity 图像效果来把立体单眼图像放到平面图像之上。

  这个平面渲染器是通过把摄像机的“Target Eye”设置为“Left”而非“Both”来实现的。摄像机物体位置经过调整,因此实际上是通过中间眼来进行渲染的。

  这都已经打包成了一个可以取代 Oculus 摄像机的预制包。

  此 Unity 的实现包并没有采用任何类似 UE4 下的过着色优化,毕竟我们的主要兴趣在于节省绘制调用。当然,那些东西之后都可以被整合进来。

  下图显示了采用了混合立体/平面渲染后的包含了很多球体的合成测试场景的结果。

  未开启平面渲染 — 10846 绘制调用,48.7 FPS

  混合立体/平面渲染(平面区域被显示为红色) — 8583 绘制调用,97.7 FPS

  当然显然这个场景不是那么常用的,主要展示了最好情况下的效果。当你把平面远景距离设为十米时,基本上无法区分出全立体和混合式场景的区别。

  我们打算把这个作为 Unity 的一项内置功能,让所有开发者都能轻易使用,并会继续为所有引擎的立体渲染进行优化。

相关推荐

热门推荐

推荐

最新推荐

更多美图欣赏

    《光明勇士》超萌公测
    《光明勇士》超萌公测

    《光明勇士》是盛大游戏研发首款3D萌系超自由冒险手游,Q萌的画风一秒融化你的心!装备组装的沙盒玩法,打造独一无二的专属武器;抓鱼、烤肉、跳一跳,趣味玩法乐翻天,快来Pick你的伙伴,一起冒险吧!...

    2018全球数娱未来高峰论坛
    2018全球数娱未来高峰论坛

    聚焦游戏产业创新发展,链接游戏行业无限可能,以“创新·游戏·科技”为主题的2018全球数娱未来高峰论坛于11月13日——11月15日在中国澳门威尼斯人酒店隆重举行。...

    《新密传》游戏截图
    《新密传》游戏截图

    《新密传》游戏截图...

    《江山英雄》游戏壁纸
    《江山英雄》游戏壁纸

    《江山英雄》游戏壁纸...

    《江山英雄》游戏原画
    《江山英雄》游戏原画

    《江山英雄》游戏原画...

关于我们手机客户端隐私版权广告服务友情链接联系我们网站地图文章归档在线留言
Copyright © 2009-2013 WwW.Slieny.CoM, All Rights Reserved.