全息模拟(Holographic Emulation)是一个Unity新功能,可以大幅度减少Unity开发全息应用的迭代时间。Microsoft HoloLens的开发者们将可以直接使用Unity编辑器进行原型设计、调试和迭代设计,不必再花费过长的时间进行发布构建。
模拟器有两种不同的工作模式:远程(Remoting)和模拟(Simulation)。
远程模式(Holographic Remoting)下连接Windows全息设备(Microsoft HoloLens)后,可以直接从编辑器运行应用。应用将与部署到设备上运行完全一致(有完整的传感器数据和位置信息),但实际上是在本地主机上运行的。游戏视图中可以看到设备正在渲染的内容(当然,无法显示佩戴者透过设备看到的真实世界的内容)。
模拟模式(Holographic Simulation)则更近一步,可以在编辑器中直接运行一个模拟设备 —也就是说,不需要物理设备。这对于设备数量受限的开发团队或者暂时未拿到物理设备的开发者来说非常有用。
系统需求
您需要在安装了Windows 10 Anniversary更新(或更高版本)的机器上运行Unity 5.5(当前是测试版),来使用全息模拟器。
开始
从编辑器窗口菜单选择“Holographic Emulation(全息模拟器)”打开全息模拟控制窗口,来启用远程或者模拟:
全息模拟控制窗口可以像其他窗口一样移动和停靠,我们建议在开发过程中始终保持窗口可见,因为在启动应用时您需要访问一些设置。
模拟模式(Emulation Mode)的初始设置是None(无),这意味着您在编辑器中运行的应用不会使用任何Holographic API的功能。
远程模式
将模拟模式改为“Remote to Device(远程到设备)”来开启远程模式。界面将显示远程模式的一些附加选项。
连接到设备有三步。首先,您需要安装并运行远程模式播放器(Remoting Player),可以从Windows应用商店下载。在设备上运行该应用,您将进入等待状态并显示设备的IP地址。可以访问Microsoft Windows Dev Center(微软Windows设备中心)了解如何开启连接会话的远程播放器等相关信息。
其次,在远程设备(Remote Machine)属性栏中输入设备的IP地址。字段右侧的下拉菜单中可以选择最近使用过的地址。
最后,点击“Connect(连接)”按钮。连接状态会变为带连接消息的绿色指示灯。现在您可以点击编辑器中的播放按钮并远程运行设备。您可以暂停、检查对象和调试,就像在编辑中运行普通应用一样,区别之处在于视频、音频和设备的输入是通过网络在主机和远程设备之间进行传输的。远程模式对于验证性能来说并不奏效(因为所有繁重工作都是由主机处理的),但它可用于在开发过程中进行快速迭代。
模拟模式
在模拟模式下运行比远程模式下更简单。只需要将模式改为“Simulate in Editor(在编辑器中模拟)”并按下播放按钮即可。您的应用将由编辑器内置的模拟器开始运行,不需要头戴设备。您可以选择5个虚拟房间(与XDE HoloLens Emulator 提供的相同)并指定执行手势的虚拟手掌(左或右)。
在模拟模式下,您将使用游戏控制器来控制虚拟人物。
请注意,使用游戏控制器需要将焦点放在游戏窗口。使用UI做其它操作后只需点击一下游戏视图窗口就会对焦。
已知限制
目前远程全息模式并不支持语音(PhraseRecognizer语音识别),而是获取编辑器所在主机的语音。
在全息模拟模式下可以执行图像捕捉,但因为图像捕捉会使用本地相机(例如网络摄像头),您将无法使用TryGetProjectionMatrix或者TryGetCameraToWorldMatrix来获得矩阵。
在远程模式下,主机PC端所有的音频将重定向到设备上(而不仅是来自应用的)。