映维网之彼真科技VR开发Q&A问答总结

映维网 2021年02月01日)上周,映维网邀请VR技术开发专家彼真科技联合举办了一场“VR开发Q&A问答”活动,于1月25日周一晚上20点在映维网开发者微信交流群内进行(www.tyld.com.cn)。本次活动收集了40多个问题,最终在问答活动时间内,来自彼真科技的技术专家薛萌和李岩两人为其中15多个技术开发问题提供了专业解答。本次收集问题不少涉及AR,考虑到两位嘉宾主要在VR领域开发,对大部分AR领域问题没有作出回答。

问答嘉宾一:薛萌,彼真科技CTO,15年以上开发经验,曾任大宇、绩思思和腾讯高级工程师和架构师,负责多款产品的架构和开发;曾参与搭建国内首个VR演播室,在3D引擎和图形渲染上具有深厚的技术能力。
问答嘉宾二:李岩,彼真科技研发经理,曾任奇赋网络研发经理,unity和unreal双引擎多年开发经验,完成过10+行业和游戏类项目。在内存管理和性能优化上具有丰富经验。

以下是本次“开发Q&A问答”活动的总结(部分同类问题已合并),涉及参考资料超链接的请点击相应部分的蓝色文字内容。

1,请问现有基于AR的渲染算法是如何考虑真实场景的光照?

我们在与专业的AR引擎团队交流的时候获知ARCore ARKit中确实有接口可以获取到真实场景的光照方向,可以实现例如一个虚拟角色在街上行走,然后根据当时的真实光照为虚拟角色生成动态阴影这样的功能。

2,可以分享一下unity模型优化经验吗?

优化是一个开发人员津津乐道的话题,Unity发展到今天,开发社区里积累了大量的模型优化经验,其本身的文档也已经非常完善,想要获取这方面的信息,最好的方法是阅读文档和浏览官方论坛,例如参考Unity官方文档。目前我们想到的问题,基本都能够从这些资料中找到答案。

3,可以分享一下Unity场景搭建经验吗?

场景搭建经验的说法比较笼统,这个其实是需要具体问题具体分析的,每个项目都有不同的侧重点。美术在场景设计方面确实比较容易放飞自我,所以如果说有放之四海皆准的经验的话,那应该是让程序团队尽早评估美术的工作,定好规范,界定好美术自由发挥的边界。

4,Unity开发Quest过程中,在做联机程序时,即使给两台quest画上同样的防护边界,在同样的地方启动,它们之间的位置坐标信息还是会有误差。请问目前对于Quest,类似官方案例多玩家在一起射击那个视频,多玩家在局域网下是如何做到精确的位置信息同步?

Quest的追踪是inside-out的,非常依赖摄像头,我们曾经尝试过将手柄放在背后摄像头看不到的位置,发现手柄的追踪是会丢失的,所以就目前来看,想要让定位的精准度再提高一个等级的话,依然需要一些outside-in的方案,也就是利用外置的摄像头阵列,对于场地中的刚体进行追踪,通过局域网通信的方式去同步场地中的头显的位置信息。

5,AR在安卓平台的开发选什么AR引擎?

可以直接使用AR Core,或者第三方的SDK,比如EasyAR。

6,Oculus哪种开发方式对开发者最友好(c++?unity?等)

Oculus对于UE4和Unity,以及原生的开发方式都提供了相应的SDK,可以根据实际的项目需要进行取舍。

7,如何快速集成AR到微信小程序?

微信小程序本质上是基于js的,所以基于js的AR引擎可以比较方便的接入,比如AR.js,Three.ar.js,另外第三方的中间件例如EasyAR也提供微信小程序的集成方案。

8,基于VR一体机的PBR渲染优化

以目前一体机的机能来看,还是要严格控制场景中带有pbr材质的物体的数量,通过分层的方式严格控制光照对pbr物体的影响,如果涉及到场景的话,可以利用离线渲染等技术,降低场景渲染的开销,以便让设备能够有更多的性能空间来处理pbr物体从而达到优化的目的。

9,基于室内位置定位与AR场景的融合

在AR方面,室内定位效果现在已经能够达到很好的效果了,除了关注ARKit和ARCore的版本迭代之外,EasyAR的spatial map技术也值得关注,他们在ARKit和ARCore的基础上做了一些额外的工作,让定位更加精准和稳定。

10,buildin urp hdrp 渲染管线在移动VR开发时候的选择

简单讲URP更专注性能,HDRP更专注画面,如果项目不是对真实画面有绝对追求,推荐URP。

11,当半透明物体,如特效在Quest中眼前出现时会掉帧明显

Quest官方文档的优化建议中不建议使用透明材质,我们在开发过程中也注意到了这个问题,移除特效中的透明材质之后性能改善相当明显。

12,XR类应用的网络模块开发过程中,与普通的移动端app或是电脑端应用有什么不同,需要注意哪些地方?

VR设备使用的操作系统依然是主流的操作系统,所以网络模块的开发跟移动端或者PC端并没有本质的区别,在做短连接交互的时候如果请求收不到回应的话,需要看一下是否需要SSL证书也就是https,比如Quest再做短连接交互的时候有可能会遇到这个问题。

13,Unity开发quest应用程序时,举个例子:相机坐标(0,0,0),我在(0,0,1)位置摆一个桌子。然后在真实世界启动游戏 ,同样在1米钱摆一个和程序模型一样的桌子,然后在quest里伸手去触摸时总会有大概5厘米左右误差,请问目前有什么方式去进行精准定位。

这个问题跟前面的一个问题是类似的,虽然我相信inside-out的追踪将会成为主流,但是outside-in目前在精准度方面依然有极大的优势,追求精度的话,还是要考虑引入outside-in的追踪方式。

14,Quest上有啥消耗还可以接受的后处理效果可以使用吗?

后处理效果在Quest的优化建议里也是建议关闭的,我们在开发《命运抉择》的时候测试了很多后处理效果,最终还是决定采用其他的技术方案了。游戏某种意义上说就是一种魔术,是利用软件技术欺骗玩家的眼睛,所以在技术选型方面,如果性能是在跟不上的话,不妨考虑一下次优技术方案的组合,看看能否达到等同或者类似的效果,毕竟玩家在玩游戏的时候并不会纠结你具体使用了什么技术。

15,有没有不需要上传特征就能3D识别的引擎?是不是在训练的时候需要很大的算力,训练好的数据就不需要很大的运算量了吧?

AR技术使用了很多使用AI的方法,但依然有很多实时算法是绕不过去的。采用云服务对于技术提供方来说有很多便利因素,想要不需要上传特征就能做3D识别目前只能开发了,但是个人作品想要做到工业级效果是很困难的。

————

值得一提的是,在2019年 Qualcomm XR挑战赛中,彼真科技获得了应用组银奖;在2020年 Qualcomm XR挑战赛中彼真科技的《命运抉择》斩获大赛最高奖项——游戏组白金奖。 彼真科技的Rogue-like 类型 VR 动作冒险游戏《命运抉择》已经在Pico Neo 2等平台上线。

原文链接:https://news.nweon.com/82827

公司名称:济宁舜铭机械设备有限公司
主营产品:钢筋机械,水渠成型机,履带运输车,柴油三轮车,四不像运输车