Quest X MR应用开发 | 基本环境+开始搭建

专题介绍:

暑期着手开发第一个多功能的MR项目,这个系列的文章是我学习Quest MR开发的笔记,希望给小伙伴们提供一些参考经验。如果想要继续交流或者有合作意象,请通过以下方式联系:

  • vx:always_lelele;b站:我是一直LE;E-mail:XieclAbby@163.com;
文章更新时间:2023.7.28

开发环境配置

电脑OS:Win11

VR设备:Quest 2 (未来计划移植Quest 3)

开发平台及版本:Unity 2022.3.3f1c1

参考资料

Meta Quest技术文档

https://developer.oculus.com/documentation/unity/book-unity-gsghttps://developer.oculus.com/documentation/unity/book-unity-gsg

方法一

第一步:搭建环境

  • 安装Oculus Hub并成功连接配置好头显(这个就参考网上其他资料就行,仅初次搞比较麻烦)
  • 安装适合版本的Unity编辑器(官方要求起码是 2020.3 LTS),并且平台选择(Platforms)起码包括:Windows,Android Build Support(如果你要发布到Quest上运行的话需要这个模块)

  •  建立一个新项目,选择3D模板

 Unity的基础设置

  1. File > Build Settings 里的Platfrom列表下选择Android,点击Switch Platform
  2. Run Device 列表里选择Oculus Quest(这里应该显示你用USB连接好的头显设备),旁边的Refresh可以刷新
  3. 将Texure Compressoion切换成ASTC
  4. 取消勾选Development Build,会影响呈现
  5.  导航到Project Settings里安装XR Plugin Management, 点击Install XR Plugin Management(如果没有安装过这个包,首先需要导航到Window>Pakage Manager,Pakages菜单切换到Unity Registry,找到这个包点击install)
  6. 在Windows和Android下都要勾选Oculus
  7. 点击XR Plug-in Management下方的Oculus,切换到Oculus设置面板,将Stereo Rendering Mode改成Muti Pass,和下图一致就行
  8. 设置Identification:在左侧菜单里点击Player,切换到Player面板,展开Other Settings菜单,设置Minimum API Level,设置为Android 10.0(API level29),保证下面的Target API Level是Automatic(highest installed)
  9.  设置Configuration: Scripting Backend换成IL2CPP(可以提供跨平台支持),勾选底下的arm64(Meta Store仅支持64-bit app);设置下方的Install Location是Automatic,可以让app应用安装在外部储存器上
  10.  设置Rendering(如图):Color Space是 Linear(以增加场景亮度,可获得真实的渲染效果);取消勾选Auto Graphics API,拖动调整OpenGLES3为列表第一个(Vulkan还在测试阶段);勾选Multithreaded Rendering(支持多线程渲染工作)

  11. 【可选】设置公司和项目名称在Player最上面可以修改公司和项目的Name,及项目版本号用于迭代(之后每次都要高于之前的版本);再下面的Identification中,勾选Override Defualt Package Name,保证名称符合要求(com.CompanyName.AppName);在Bundle Version Code里设置Bundle的序号,每次都增加,用于内部确认版本是否比上一个版本新
  12. 设置Quality设置Rendering底下的Pixel Light Count为1,Anti Aliasing设置为4x,并确认勾选了Realtime Reflections Probes;设置Textures中的Texture Quality中确认是Full Res(最大分辨率显示纹理),Anisotropic Textures为Per Texure;Particles里取消勾选Soft Particles;确认Terrain中的Billboards Face Camera 勾选,让UI面板面对相机

 导入Oculus Integration SDK

 如果之前没有安装这包,需要先去资源商店里下载,再在Window>Pakage Manager>My Assets Download并Import Oculus Integration,这里要升级到最新版本(目前我是v55),Quest2要v49以上才能开发MR的空间定位功能

  • 安装完如果提示要Update点击Yes
  •  如果提示是否使用OpenXR支持,点击Use OpenXR
  • 如果提示要清空之前的 Interaction SDK资产,点击Show Assets,再点击Delete Assets
  •  提示Update Spatializer plugins,点击Update,再点Restart

第二步:设置OVR相机

添加OVR相机:删除场景里的Main Camera,在Project>Assets下,搜索框里输入OVRCameraRig,将OVRCameraRig添加到场景中

场景示例

关于OVRCameraRig.cs的设置:一个控制立体渲染和头部跟踪的组件

  • Use Per Eye Cameras:独立渲染左右眼的画面
  • Use Fixed Update For Tracking:运行时用FixedUpdate()方法替代Update()方法模拟物理运动效果,但是如果与渲染帧速率不匹配可能会掉帧抖动,个人不建议勾选
  • Disable Eye Anchor Cameras:如果勾选这个,那就用Main Camera来作为渲染VR场景画面的相机,tracking space anchors被更新来提供参考姿势

关于OVRManager.cs的设置:一个控制相机行为的组件

  • Target Devices:设置所控制的VR设备
  • Performance and Quality:保持默认
  • Tracking:将Tracking Origin Type设置为Floor level,跟踪你站在房间内的高度,其他的保持默认
  • Display:Color Gamut:保持默认推荐
  • Quest Features:参数很多,是设置项目支持的一些功能,比如姿态追踪、手势追踪、面部追踪、眼动追踪、VR键盘、启动画面、混合透视等等,根据项目需求自己动态调整。比较重要的一点是在Build Settings里勾选上下面的Skip Unneeded Shaders,剥离着色器来跳过未使用的着色器(删除了图形层Tier 1和 Tier 3,只从Tier 2开始加载着色器),节省Build的时间
  • Mixed Reality Capture(MRC):一个混合现实捕捉的功能,勾选以启动。如果以后需要用到这个功能,再做详细的文章介绍。

方法二

最近发现除了上面繁琐的设置步骤之外,还有一个多快好省地办法,就是使用Oculus Project Setup Tool,可以帮我们快速地设置好一个适合Oculus开发的环境。

打开方式:在上面的菜单栏找到Oculus,打开Tool>Project Setup Tool。此时会自动弹出Project Settings面板,然后直接点击Apply All 和Fix All 就能一键解决所有设置问题。当然这个是官方推荐的设置,如果你有自己特定的开发需求,还是参考方法一里面的各种参数设置去动态调整。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值