This page has been translated automatically.
视频教程
界面
要领
高级
实用建议
基础
专业(SIM)
UnigineEditor
界面概述
资源工作流程
Version Control
设置和首选项
项目开发
调整节点参数
Setting Up Materials
设置属性
照明
Sandworm
使用编辑器工具执行特定任务
如何擴展編輯器功能
嵌入式节点类型
Nodes
Objects
Effects
Decals
光源
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
编程
基本原理
搭建开发环境
使用范例
C++
C#
UnigineScript
统一的Unigine着色器语言 UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
材质和着色器
Rebuilding the Engine Tools
GUI
双精度坐标
应用程序接口
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
创建内容
内容优化
材质
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials

VR 和 XR 开发

虚拟现实(VR)是一种身临其境的环境,让您感觉置身于虚拟或数字复制的真实3D世界中。

UNIGINE为VR应用程序开发提供内置功能。它使您能够通过单个API接口实现各种VR设备的逻辑,而无需使用额外的插件。

警告
实现类似功能的VR插件 (OpenVR, Varjo, Oculus)被认为已弃用,将在下一个SDK版本中删除。

另请参阅#

UNIGINE中的VR系统#

内置VR系统提供OpenVRVarjo的集成。

OpenVR集成#

OpenVR是一个全面的VR SDK (API和运行时),允许访问来自不同供应商的VR硬件,而不需要应用程序具有他们所针对的硬件的特定知识。

因此,得益于 OpenVR 集成,UNIGINE 支持各种 VR 设备的 VR 开发,包括 Oculus Rift、HTC Vive 和其他 OpenVR 兼容设备。 下面给出了受支持设备的完整列表。

Varjo集成#

图片由 Varjo 提供。

具有眼动追踪和混合现实功能的工业级耳机允许您创建VR和XR(eXtended Reality)应用程序。使用混合现实技术,您可以将耳机上的前置摄像头的真实世界视图与VR图像结合起来。

此外,通过Ultraleap集成插件,Varjo VR和XR耳机可以使用VR中的手部跟踪功能。它提供了手指保真度、双手性能、更高的跟踪鲁棒性以及许多其他改进。

下表列出了UNIGINE VR系统支持的Varjo 原生特性:

Varjo 特性 VR 系统
支持的图形API DX11, DX12, Vulkan
人眼的分辨率 支持
眼动追踪 支持
眼动追踪参数 支持
眼摄像头数据流 不支持
混合现实(MR) 支持
MR环境反射 支持
MR后处理着色器 不支持
MR数据流 支持
色度键控 支持
Varjo 标记 支持
深度缓冲提交 支持
速度缓冲提交 支持
多应用支持 不支持
多层支持 支持
遮挡蒙版 支持
实例化呈现 不支持
注视点渲染 支持
SLI兼容 不支持

支持的平台#

UNIGINE可以为不同的VR平台开发VR应用程序。

眼睛虚拟现实#

使用UNIGINE VR系统,您可以通过集成OpenVR功能来实现Oculus头戴式显示器的项目。

为了正确工作,您需要安装 Oculus Rift PC Runtime

对于性能分析,您可以使用 Oculus PerfHud工具。它显示性能摘要,包括应用程序的帧率和可用的未使用硬件性能、延迟时间、应用程序渲染时间、有关HMD版本的信息等。要将Oculus PerfHud与UNIGINE一起使用,请遵循Oculus文档中的说明。

VR Template提供仅与Oculus hmd兼容的Oculus TouchOculus Quest控制器的模型。

SteamVR#

OpenVR集成允许您为SteamVR平台开发项目。它不绑定到特定的硬件:这样的项目可以使用任何支持SteamVR的VR设备。

在针对 SteamVR 进行开发时,首先您应该下载并安装 Steam,然后启动 SteamVR。

注意
如果您安装了一个 HTC Vive HMD , SteamVR将在HMD的安装中自动设置。

对于性能分析,您可以使用SteamVR Frame Timing工具。

VR Template提供了以下与 SteamVR 兼容的控制器型号:HTC Vive, HTC Vive ProHTC Vive Cosmos

混合现实开发#

由于有了Varjo集成,您可以实现与 Varjo HMD 一起运行的Mixed Reality应用程序。

要开发应用程序,需要安装Varjo BaseSteamVR

混合现实管理是通过UNIGINE API的VRMixedReality 类执行的。

支持设备#

支持以下VR设备型号:

  • Oculus Rift / Rift S / Quest / Quest 2 (带Oculus Link电缆/ Oculus Link无线)
  • HTC Vive / Vive Pr / Focus / Cosmos
  • Varjo VR-1 / VR-2 / VR-3 / XR-3 (扩展混合现实支持)
  • Windows Mixed Reality (WMR) 兼容
  • OpenVR 兼容

支持的图形API#

以下图形API是开箱即用的:

  • DirectX 11
  • DirectX 12
  • Vulkan
注意
对于OpenGL API支持,您将不得不使用已弃用的VR插件。

初始化#

缺省情况下,未初始化VR。要使用VR运行引擎,需要在应用程序启动时指定-vr_app命令行选项。

  • OpenVR命令:
    命令行
    -vr_app openvr
  • Varjo命令:
    命令行
    -vr_app varjo
注意
当内置VR被初始化时,您不能启动VR插件(OpenVR, Varjo, Oculus),因为它覆盖了插件的功能。如果您尝试在VR初始化后添加VR插件,您将得到一个错误消息。

VR输入#

UNIGINE VR输入系统提供对广泛的VR设备的访问:您可以管理来自 VR控制器头戴式显示器(HMD)基站跟踪器的输入。

有关VR设备类型及其示例的更多详细信息,请查看VR Input System上的文章。

VR Template 模板#

UNIGINE提供了一个VR Template 模板,用于方便地为VR创建自定义应用程序。它包含了一组流行的VR控制器的3D模型和基本机制的执行,如抓取和投掷物体,按下按钮,打开/关闭抽屉等等。

该模板是使用 Component System 创建的,因此您可以轻松地扩展其功能。

参考VR入门文章了解如何使用C++/C# VR项目开发的模板。

使用VR的基本工作流程#

与其他3D应用程序不同,开发VR应用程序更加复杂:您应该设置VR环境,添加交互元素,处理来自各种VR设备的用户输入,等等。

在UNIGINE中开发VR应用程序的一般流程如下:

  1. 设置VR开发的UNIGINE项目:

    1. 设置VR设备(如有必要,请查看供应商提供的说明)。
    2. 配置项目以使用适当的 VR 模式。 您可以通过 SDK 浏览器(对于 C++/C# 项目)或在 UnigineEditor(对于 C# 项目)中执行此操作,具体取决于运行应用程序的首选方法。
    3. 初始化VR
  2. 创建VR环境:

    • 通过使用第三方3D建模和关卡设计工具以及UnigineEditor为您的VR项目创建3D环境。
    • 用动画、声音、视频和其他交互元素扩展VR环境。
  3. 让VR环境更具互动性:

    • 实现组件以扩展环境中对象的功能,并处理用户输入
    • 使用 UNIGINE的VR模板(可用于C++和C# API),它提供了一组基本的VR组件,并允许用户在环境中移动和与对象交互。
  4. 调试和配置您的VR应用程序。使用VR平台特定的和UNIGINE内置的分析工具来提高性能。
  5. 构建和部署您的VR应用程序。
最新更新: 2024-02-27
Build: ()