HoloLens开发工具及其使用流程

HoloLens发布至今,已有不少开发者、解决方案提供商参与到HoloLens的项目研发和探索中,但仍有许多人并不熟悉HoloLens开发环境,以及需要哪些开发工具。

开发环境

HoloLens的开发需要在PC端预先配置好以下开发工具。

  • Visual Studio 2017 或 Visual Studio 2015 Update 3版本
  • Windows 10 SDK (10.0.10586版本)
  • HoloLens Emulator(10.0.14393.0版本)
  • Unity 5.5

注意:PC端启用Visual Studio必须具有Windows 10环境。开始安装前建议更改BIOS设置,在PC上进行硬件虚拟化。

开发工具与使用流程

在了解开发所需要的环境后,接下来就是按照开发流程进行应用开发。使用Unity开发HoloLens应用,一般步骤为:在Unity Editor中完成项目的制作,然后使用Unity构建WIN 10 UWP的项目,最后在Visual Studio中打开这个工程,编译成功后部署到HoloLens或HoloLens模拟器上测试运行。

Unity

对于全息应用程序搭建,首先需要了解并设置Unity,这里我们建议安装至少Unity 5.5版本。

1.安装完Unity后,打开Unity,命名新场景。

设置主虚拟摄像头,在层次结构面板中选择主摄像头进行设置,然后导入三维场景进行编辑。

主摄像头设置图

2.打开GameObject,在3D Object中,选择Cube选项,创建出一个Unity 默认3D物体放入场景中,位置建议设定在坐标(0,0,2)或(0,0,3),确保启动后佩戴者能够直接观测到物体。

Unity默认物体创建
位置设置

3.保存场景,并从Unity中导出UWP工程。此时我们指定要导出的为通用Windows平台(Universal Windows Platform)项目。将SDK设置为Universal 10,将Target device设为HoloLens,同时UWP Build Type设置为D3D.导出Visual Studio解决方案。

Unity质量设置

注意:我们希望Unity导出的应用为全息视图,而非平面视图。所以要进行如下操作。

1.从…“Build Settings…”窗口打开“Player Settings…”

2.选择“Settings for Windows Store”选项卡

3.展开“Other Settings”组

4.在“Rendering”部分中,选中“Virtual Reality Supported”复选框,以添加新的虚拟现实设备列表,并确认“Windows Holographic”被列为支持的设备。

Unity导出设置

对于刚接触Unity开发HoloLens应用的小白,入门时可以选择使用免费的HoloToolkit(下载地址见附录)开发插件,也可以在市面上寻找一些获得我们认可的第三方Toolkit开发插件。在HoloToolkit中,会给新手开发者提供一些和HoloLens功能相关的开发示例,帮助开发者加速开发进度。

Visual Studio

对于从Unity中导出的UWP工程,接下来需要用Visual Studio打开解决方案编译,方可在设备上运行。第一次部署到设备上时,需要预先将Unity和Visual Studio进行配对。

构建Unity导出项目,部署项目在设备中。

1.在顶部工具栏,将Configurations选项中从“Debug”更改为“Release”,在Platform选项中ARM更改为X86。

2.建议使用USB部署到HoloLens设备中,将运行目标设备制定为Device来部署的设备中。如果选择部署到模拟器中,请选择Simulator选项。到此您的第一个应用基本创建完成,现在可以在HoloLens观测一下这个物体在真实环境中的状态。

HoloLens Emulator(HoloLens模拟器)

考虑到一些开发者暂时还没有HoloLens,可以从Visual Studio编译选项栏中,将设备下拉框选中HoloLens模拟器。第一次启动时,模拟器可能需要等待一分钟或更久响应时间。我们建议在部署和调试前打开模拟器,以便能将应用程序快速部署到正在运行的模拟器中。注意请保持电脑主板支持Hyper-V,在系统中打开Hyper-V功能选项。

HoloLens模拟器

模拟器中“房间”等选项卡以空间映射网络形式模拟现实世界输入,被模拟的房间可提供多个环境来测试应用程序。所有房间都是使用HoloLens在实际环境中捕获的。开发者也可以利用模拟器来录制自己的房间。模拟器上虽然能够模拟HoloLens佩戴者的视野,但需要注意,部分应用在模拟器与真实HoloLens设备中操控效果可能略有不同。