(七)Unity VR项目升级至Vision Pro需要做的工作

  • Vision Pro 概述
    • 定位为混合现实眼镜,对AR支持更友好
    • 无手柄,支持手(手势)、眼(注视)、语音交互
    • 支持空间音频,相比立体声、环绕声更有沉浸感和空间感
    • 支持VR/AR应用,支持多种应用模式。
  • Vision Pro技术特性
    • 支持Metal 3图形API及材质,不支持Unity引擎手写Shader,支持Unity的Shader Graph创建的Shader
    • 应用的运行环境为RealityKit
    • 3种模式:窗口模式、完全沉浸模式(VR模式)、沉浸模式(MR)
    • 沉浸模式提供共享空间和独占两种模式(沉浸模式提供了共享空间和独占两种模式,共享空间可以在同一时间同一空间运行多个AR程序,每个AR程序被限制在一个有限的空间里面(被称为有限卷)。当其中一个AR程序进入独占模式的时候,其他程序的有限卷将会被隐藏,独占游戏会打开一个所谓的无线卷并且和自己之前的多个有限卷同时存在在空间中。在这个独占模式下,程序才可以通过AR Foundation (ARKit)得到全部的A R功能。)
  • 开发工具
    • Unity3D引擎
      • Vision Pro 支持Unity的核心功能(脚本、物理引擎、动画、AI、场景管理等),原有的Unity项目将会被Unity转换成一个完整的RealityKit项目
      • 其他支持/不支持的特性
        • 1)支持Unity的XR Intergration Toolkit和Unity New Input System
        • 2)支持Unity URP和内置渲染管线
        • 3)不支持空间音频
      • 需要使用Shader Graph工具生成项目的所有材质(包括播放器、场景模型、特效等材质及Shader)
      • 整个项目工程需要升级至Unity 2022.3(LTS)或更高版本。
    • Xcode工具(包括Metal图形API,SwiftUI,RealityKit,ARKit等)
      • Xcode 15 beta 2
      • 必须使用 Apple Silicon (M1/M2) Mac
  • 技术升级工作
    • 项目中使用的字体需要进行验证
    • 场景中所有非shader graph编写的材质都需要使用Shader Graph进行重做
    • 交互组件兼容性确定(官方宣称支持Unity的XR Intergration Toolkit和Unity Input System)
    • 交互方式重构,由此前手柄交互模式重构为Vision Pro的注视点+手势交互模式
    • 原有的UI内容,部分需要重做
    • 场景中原有的例子特效需要重做(需要去掉不被支持的特性)
    • 场景中的灯光及烘焙的灯光贴图需要处理
  • 注意事项
    • 因为Unity使用的图形API和visionOS使用的图形API不一样,所以vision Pro上的渲染很可能与Unity 渲染中存在视觉差异。
  • 资源支持
    • 硬件资源
      • 使用M1/M2(包含Pro)芯片的Macbook/Mac mini
      • Vision pro开发者套件(目前了解到的情况是很难申请到)
    • 软件资源
      • Unity 2022.3.5+PolySpatial visionOS v0.1.0
      • Xcode 15 beta 2(visionOS系列开发环境)
    • 其他
      • 申请成为Unity的PolySpatial开发者
      • 苹果开发者账户
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的Unity VR项目实例,用于在虚拟现实设备上展示一个球体: 1. 创建一个新的Unity项目,并将其命名为“VR Ball”。 2. 在场景中创建一个空对象,并将其命名为“Ball”。 3. 在“Ball”对象上添加一个Sphere Mesh组件,并将其缩放为合适的大小。 4. 在“Ball”对象上添加一个Rigidbody组件,并勾选“Use Gravity”选项。 5. 在“Ball”对象上添加一个Box Collider组件,并将其大小调整为合适的大小。 6. 创建一个新的3D对象,命名为“CameraRig”。 7. 将“CameraRig”对象的位置设置为(0, 1.6, 0),并将其旋转为(0, 0, 0)。 8. 在“CameraRig”对象上添加一个Camera组件,并将其设置为VR摄像机。 9. 在“CameraRig”对象上添加一个OVRCameraRig组件,并将其设置为VR摄像机。 10. 在“CameraRig”对象上添加一个OVRManager组件,并将其设置为VR管理器。 11. 在“CameraRig”对象下创建一个空对象,命名为“LeftHandAnchor”。 12. 在“CameraRig”对象下创建一个空对象,命名为“RightHandAnchor”。 13. 在“LeftHandAnchor”和“RightHandAnchor”对象上添加一个OVRGrabber组件,并将其设置为左手或右手。 14. 在“Ball”对象上添加一个OVRGrabbable组件,并将其设置为可抓取。 15. 在场景中添加一个光源,并将其设置为适当的强度和颜色。 16. 在场景中添加一些背景音乐或音效,以增加沉浸感。 17. 在编译并运行项目之前,确保已正确配置VR设备和Unity VR设置。 18. 运行项目并在虚拟现实设备上测试球体的移动和抓取功能。 这个简单的Unity VR项目实例可以帮助您了解如何在虚拟现实环境中创建和操纵3D对象。您可以在此基础上扩展和改进项目,以实现更复杂的虚拟现实应用程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值