Holographic Emulation(全息仿真)允许直接在 Unity Editor 中对 Microsoft HoloLens 项目进行原型设计、调试和运行,无需在每次希望查看更改效果时都要构建和运行游戏。这样可以极大缩短在 Unity 中开发全息应用程序时的迭代间隔时间。
Holographic Emulation 有两种不同模式:
__Remote to Device:__通过使用与 Windows Holographic 设备之间的连接,应用程序就像已经部署到该设备一样,而实际上是在主机上的 Unity Editor 中运行。请参阅下面的 Remote to Device 以了解更多信息。
__Simulate in Editor:__应用程序直接在 Unity Editor 中的模拟全息设备上运行,无需连接到真实的 Windows Holographic 设备。请参阅下面的 Simulate in Editor 以了解更多信息。
Holographic Emulation 仅在运行 Windows 10(装有周年更新)或更高版本的机器上受支持。
To enable remoting or simulation, open the Unity Editor and go to Window > Holographic Emulation:
随即将打开 Holographic Emulation 控制窗口,其中包含 Emulation Mode 下拉菜单。应在开发期间保持此窗口可见;在启动应用程序时需要访问其中的设置。
默认情况下,__Emulation Mode__ 设置为 None__,这意味着应用程序将在 Editor 中运行而不需要任何全息 API 功能。将 Emulation Mode__ 更改为 Remote to Device 或 Simulate in Editor 可启用该模式并开始全息仿真 (Holographic Emulation)。
要使用此模式,请将运行 Unity Editor 的计算机(简称“主机”)连接到 Windows Holographic 设备(简称“设备”)(请参阅下面的连接设备)。应用程序就像已经部署到该设备上一样,而实际是在主机上的 Unity Editor 中运行。
Unity Editor 可访问所连接设备的空间传感器数据和头部跟踪。在 Unity Editor Game 视图中可以查看设备上渲染的内容,但不能看到设备的佩戴者看到的真实世界。(请参阅上文中标题为“Holopgraphic Emulation:Unity Editor 作为全息应用程序运行”的图中的示例。)
请注意,__Remote to Device__ 对于验证性能没有用处,因为应用程序在主机上而不是在设备本身上运行,但它是快速测试开发的方法。
要在 Unity Editor 中启用此模式,请将 Emulation Mode 设置为 Remote to Device。界面将更改以反映可用的其他选项。
1.安装并运行从 Windows 应用商店获取的 Remoting Player。Remoting Player 在启动时进入等待状态,并在 Holographic Remoting Player 屏幕上显示设备的 IP 地址。有关 Remoting Player 的其他信息,包括如何启用连接诊断,请参阅 Microsoft Windows 开发人员中心。
2.在 Unity Editor 的 Holographic Emulation 控制窗口的 Remote Machine 字段中输入设备的 IP 地址。使用该字段右侧的下拉选单按钮可选择最近使用的地址。
3.按 Connect 按钮。连接状态会更改为绿灯并显示已连接消息。
4.现在单击 Unity Editor 中的 Play 以远程运行设备。可以暂停、检查游戏对象以及进行调试,就像在 Editor 中运行应用程序一样;但视频、音频和设备输入在主机和设备之间通过网络来回传输。
在__Remote to Device__ 模式下不支持语音 (PhraseRecognizer);相反,会拦截运行 Unity Editor 的主机发出的语音。
当 Remote to Device 正在运行时,主机上的所有音频都会重定向到设备,包括来自应用程序外部的音频。
使用此模式时,应用程序直接在 Unity Editor 中的模拟全息设备上运行,无需连接到真实的 Windows Holographic 设备。在进行 Windows Holographic 的开发时,如果无法访问设备,此模式将非常有用。(请注意,的确需要在设备上进行测试,而不是依赖于模拟器。)
要启用此模式,请将 Emulation Mode 设置为 Simulate in Editor__,然后按 Play__ 按钮:应用程序将在 Unity Editor 内置的模拟器中启动。
在 Holographic 控制面板中,使用 Room 下拉菜单选择五个虚拟房间之一(与 XDE HoloLens 模拟器提供的选项相同),并使用 Gesture Hand 下拉菜单指定由哪个虚拟手(左手还是右手)执行手势。
在 Simulate in Editor 模式中,需要使用游戏控制器(例如 Xbox 360 或 Xbox One 控制器)来控制虚拟人类玩家。如果没有控制器,模拟仍然有效,但无法移动虚拟人类玩家。
控制: | 功能: |
---|---|
左摇杆 | 上下方向可使虚拟人类玩家前后移动;左右方向可左右移动。 |
右摇杆 | 上下方向可使虚拟人类玩家的头部上下俯仰;左右方向可使虚拟人类玩家左右转动。 |
方向键 | 上下移动虚拟人类玩家或左右摇摆头部。 |
左右触发按钮;A 按钮 | 使用虚拟手执行点击手势。 |
Y 按钮 | 重置虚拟人类玩家头部的俯仰和摇摆。 |
要使用游戏控制器,Unity Editor 必须聚焦在 Game 视图上。在使用 UI 执行任何其他操作后,单击 Game 视图窗口,将焦点返回到该窗口。
大多数游戏控制器都使用 Simulate in Editor 模式,但前提是 Windows 和 Unity 能识别它们;不过,可能与不受支持的控制器存在某些不兼容性。
可在 Simulate in Editor 模式下使用 PhotoCapture,但由于缺少设备,需要使用您自己的本地摄像头(例如连接的网络摄像头)进行此操作。这意味着无法使用 TryGetProjectionMatrix
或 TryGetCameraToWorldMatrix
来检索矩阵,因为普通的本地摄像机无法计算自身与现实世界的相对位置。