Loading… Oculus Quest开发者分享Rift和Vive应用移植优化技巧_TOM科技
正文
Qzone
微博
微信

Oculus Quest开发者分享Rift和Vive应用移植优化技巧

2019-06-22 12:01 93913网   

 

Oculus Quest开发者分享Rift和Vive应用移植优化技巧

在Oculus Quest发售前,Oculus第三方内容主管曾表示,将PC内容移植到Oculus Quest更多的是格式化美术资源而非优化代码。

Quest第三方内容开发商Immerse曾在五周时间内实现了美术资源的再格式化,并将最初为PC开发的企业培训应用程序移植到了这款VR一体机上。他们究竟是如何做到的呢?

Immerse产品负责人Justin Parry解释说,他们自2019年年初开始一直在使用Quest开发套件,公司安排他们将为PCVR开发的DHL培训应用移植到VR一体机Quest上。Parry表示:“由于客户业务的性质,VR中的培训场景被设置在一个巨大明亮的仓库环境中。我们的任务十分简单:令这款应用能在Quest上运行,同时尽可能维持与PC版类似的体验。”

尽管Quest的房间规模(和仓库规模)Inside-Out追踪非常适合这种类型的应用,高端PC性能的缺乏也是他们面临的一个问题。开发者虽然可以通过标准的Unity设置瞬间实现部分资源的再格式化,但需要付出保真度方面的代价。Parry认为重写Unity的设置并采用其他多项技巧对于维持类似PC版的体验非常必要。

举个例子,Unity的标准着色器质量设置默认为“低”,在该设置下法线贴图是无法使用的。Parry建议开发者应该将该设置调整为“中”或“高”,以预览所有内容,然后再开始优化资源。Immerse同时注意到,简单的纹理格式改动会导致在Rift中清晰的纹理在Quest中显得模糊,但采用GPU原生格式(如RGBA 32位)通常可以解决问题,此外针对个别纹理进行额外设置调整也有助于改善清晰度。

开发者不应该简单地减少Quest模型资源的多边形数量来降低复杂性,减少模型的数量效果更好。换句话说,将一只箱子、一个桶、一块地板以及一张桌子合并成为一个模型会有显著的性能提升,因为程序不需要同时加载四个对象来获取所有数据。尽管开发者无法实现将场景中的所有物体合并到一个文件中,因为如此会阻止Quest剔除当前未被查看的对象,但创建相关物品的集群可以使情况大为改观。

Immerse同时通过Texture Atlas和UI Sprite Atlas来减少加载时间和Draw Call,他们将Sprite纹理大小设置成512像素或更低,并尽可能重用纹理以节省内存。为了最大化近处Sprite的视觉质量,Parry建议禁用近处Sprite的mip-mapping,但他强烈建议为所有其他纹理启用这一点,因为它是最接近抗锯齿的功能。对近处和远处纹理的优化可能需要单独设置,但最终视觉效果会更好。

作者:VRの酱

【以上内容转自“93913网”,不代表本网站观点。 如需转载请取得93913网站许可,如有侵权请联系删除。】

 

责任编辑: 3976DBC

责任编辑: 3976DBC
广告