研发实战:Arm分享一体式VR优化技巧,提升画质、流畅和稳定性

VR/AR
2020
10/14
11:10
映维网
分享
评论

来源:映维网 作者 刘源

如果你缺乏移动开发经验,将内容从PC和主机移植到所述平台或许是一个棘手的过程。在将作品带到Oculus Quest时同样如此,而且另一个挑战是,VR一体机是贴到用户面前,所以一丁点的错误都会清晰易见。能够正确地优化项目将意味着下面两个结果中的一个:流畅和愉快的用户体验;过热GPU造成的不断掉帧。

日前,Arm通过视频为Oculus Start Program带来了一个约20分钟的移动VR优化教程。下面映维网整理了视频中的五大要点:

1. 纹理压缩十分重要

即便纹理导出为PNG、JPEG、TGA或PSD,但在项目运行时它们不会保持为所述格式。每个纹理都会转换成可由GPU更快读取的格式,从而减少带宽,并且在VRAM中占用更少的内存。尽管你可以选择一系列不同的解决方案,但Arm建议移动平台采用ASTC(自适应可扩展纹理压缩/Adaptive Scalable Texture Compression)。ASTC由Arm和AMD开发,其最大的特点之一是它为你提供了众多用于控制压缩质量的选项。在一开始,不同级别的块大小(Block-Size)或许会令人感到害怕。所以,Arm建议你从5×5或6×6开始,然后为占用较少视图空间的资源放大块大小。但一定要尝试不同的设置,从而找寻最适合项目的选项。

你可以在项目中尝试的另一个选项是ETC(Ericsson Texture Compression)。但这通常会给纹理留下更高的内存占用空间、更低的视觉质量,并会降低运行时的性能。更多关于ASTC,如何使用ASTC,以及不同ASTC编码器选项的信息请访问这一页面(Arm在8月20日发布了ASTC v2.0编码器的升级版)。

2. 用LODs(Level OF Details)降低顶点数和避免微三角形

我们都知道几何对性能有着巨大的影响。网格的顶点越少,计算的速度就越快。保持正在渲染的顶点数有时会与项目的美术视觉产生冲突。这时我们可以利用LODs。

对于远离用户的网格,LODs将显示较低多边形的版本。相关模型属于预制型,其变化的距离可控。在更复杂的场景中,用户可以看到远处,而这将有助于减少顶点数,并解决另一个问题:微三角形(Mirco Triangles)。这种三角形在完全渲染时占据1-10个像素。尽管它们对最终图像的贡献不大,但GPU依然需要对其进行完整的处理。

3. 用Mipmaps来提高项目的性能和视觉

Mipmapping就像LODs,但主要针对纹理方面。Mipmap是以较低分辨率保存的纹理副本。在GPU对纹理进行采样时,它会根据片元所占的纹理空间大小选择合适的Mip级别。乍一看,Mipmap似乎有点奇怪。纹理的副本确实会增加它们的内存占用。但作为交换,你可以提高GPU的性能,因为它不必以全分辨率渲染远离camera的对象。同时,它可以防止纹理锯齿。当结合使用时,Mipmap和LODs可以加快场景渲染。

4. 细长三角形

正我前面所提,组成网格的顶点越少,GPU计算的速度就越快。但是,即便是低多边形网格都可能会存在一定的问题,并对GPU施加更大的压力。最常见的是细长三角形。对于这种三角形,由于第三个顶点距离遥远,所以它在完全渲染时将占据数十个像素。问题出现的原因是,GPU需要以方形块的形式处理多个像素。这是一个挑战,因为即便这个三角形只占视图控件的一小部分,GPU都必须对多个块执行计算。最好的选择是删除所有的细长三角形,并确保三角形尽可能接近等边。

5. 利用Alpha to Coverage

在保持出色性能并同时减少Alpha值对象的锯齿对虚拟现实而言是一个挑战。Alpha测试是一种广泛实现的Alpha合成形式,并且是不少游戏引擎的默认设置。但它可以在对象边缘产生服务器锯齿效果。Alpha混合是一种替代方法,但如果没有多边形排序,它将无法按顺序渲染对象,而且排序是一个非常计算成本昂贵的操作。

Alpha-to-Coverage(ATOC)可以通过将片元着色器的Alpha组件输出转换为覆盖遮罩,并将其与多采样遮罩相结合来帮助减少锯齿。然后,它将使用AND运算符并仅渲染通过所述操作的像素。

上图左侧是一个基本的Alpha测试,右侧则是ATOC。即便是静态图像,锯齿都非常显著,而当图像处于运动状态时,变化要明显得多。尽管实现这一点听起来相当困难,但Arm提供一个针对各个引擎的简单指南。

6. 热身

由于虚拟现实项目的多学科性质,五个技巧难以完全地覆盖方方面面。要开发出一个优秀的项目,你需要付出大量的努力。上面只是优化技巧的冰山一角。若要探索更多关于优化几何体、纹理和材质的详细信息,请关注Arms Best Practices for Artisters,并同时查看Unity项目示例和UE4项目示例中的VR图形技术。另外,呼吁大家积极向社区分享你的技巧和建议,从而帮助大家一同进步。

原文链接:https://yivian.com/news/78877.html

THE END
广告、内容合作请点击这里 寻求合作
VR
免责声明:本文系转载,版权归原作者所有;旨在传递信息,不代表砍柴网的观点和立场。

相关热点

苹果今天正式亮相了最新的智能手机系列,包括iPhone 12 Pro和iPhone 12 Pro Max。所述两款手机都配备了激光雷达扫描仪LiDAR,而这将能增强设备的AR性能。
VR
Facebook于9月17日正式发布Oculus Quest 2并同时开放预购。这款设备的尺寸和重量皆优于初代Quest,并且实现了更快的响应速度和更高的分辨率。重要的是,设备起售价为299美元。
VR
透视AR显示器开发商Dispelix 日前正式发布了DPX 30-50°波导显示器。这家公司表示,DPX 30-50°是“世界最薄、最轻的近眼衍射波导显示器”,可提供多种视场(由投影仪确定)并支持全彩增强现实体验,从而能...
VR
Quest 2是初代Quest的后续迭代,产品有着更高的更高分辨率,更高的刷新率,更低的整体重量,以及更强大的高通骁龙XR2芯片组。作为新品发售的惯例,拆机是社区必不可少的环节要素。
VR
在大多数情况下,独乐乐不如众乐乐。音乐节奏游戏《Beat Saber》同样如是。在过去的两年里,游戏粉丝切下的方块数不胜数。但得益于备受期待的多人游戏模式,现在你可以呼朋唤友,并一起在沉浸式空间中挥摆...
VR

相关推荐

1
3