邹春毅:我是来自字节跳动PICO团队的邹春毅,现任PICO视频引擎团队负责人。严格来讲,PICO视频并不是一款游戏,它是VR平台的一款应用,我本人在加入PICO之前也是多年的游戏开发者。
首先简单介绍PICO视频长什么样子。它和游戏比较接近,玩家在虚拟3D空间里可以自由移动,也可以和多人进行交友、互动,一起看电影、看各种虚拟和现实混合的3DOF演唱会或纯虚拟的6DOF演唱会,也有可交互的互动剧、剧本杀等等,所以在技术栈上它和游戏有很大的重叠部分。
下面简单介绍PICO视频渲染上的技术栈。完整的流程是比较复杂的,汇集了字节跳动多个技术中台的技术支持。开播端有全向实时3D渲染,有基于6DOF的动作捕捉;云端有云渲染、云端超分、8K视频编码,以及基于AI的深度信息获取;Pico视频App有安卓端的渲染,处理和视频相关的内容;在Unity端有很多和游戏相似的3D类的渲染技术;Unity端和安卓端共享同一个由Unity创建的渲染上下文进行混合渲染;Unity端渲染结果以Eye Buffer这样的共享纹理给到OS的最后一个Runtime去处理最后一次渲染、合成、插帧、锐化、超分等等。
我们引擎组负责Unity端和安卓端的渲染内容,借这张图说下VR渲染和普通游戏渲染方案的重要差别,就是Unity端到runtime的过程。游戏或手游通常会把最终结果渲染到back buffer中,back buffer是由Unity引擎所创建的,渲染到back buffer之后基本不会再过多二次处理。但是在VR中,最终的结果是渲染到eye buffer,这个是由OS创建,并不是Unity创建,渲染完eyebuffer后OS还需要做很多额外处理。所以在完整的流程中,Unity大概控制了70%左右,runtime控制了30%左右。
下面简单介绍目前主流的硬件基数,做渲染很大程度是在做优化,优化的上限是对硬件资源的最合理使用,了解硬件也有助于知道渲染的瓶颈。Pico 4是我们公司去年发布的一款产品,硬件参数是物超所值的。右上角是关于它的芯片,是骁龙XR2Gen1芯片,这款芯片虽然是VR的专用芯片,但它是2019年发布,基于骁龙865的改版,骁龙865目前算是中端芯片。
往下是它的分辨率, Pico 4能够支持单眼2160×2160,双眼4320×2160,达到4K+的分辨率。渲染分辨率通常最低在1504×1504,Pico视频为了体现更好的清晰度以及抗锯齿效果,渲染最低是在1804×1804,如果乘上双眼渲染的像素,大概是1080p的1.57倍。

文章介绍了PICO视频在VR环境下的渲染技术,包括Unity端的颜色空间转换,从Gamma到Linear的优化,以及如何处理半透明混合叠加。此外,还探讨了硬件限制下的性能优化策略,如使用VRS(可变速率着色)进行注视点渲染,以提高帧率并节省性能。文章强调了在不同硬件平台上,尤其是XR设备上,如何利用SubsampledLayout和ShadingRate等技术来平衡性能和图像质量。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



